'spring'에 해당되는 글 3건

  1. 2013.04.29 [Spring] @pathVariable 배열 형태 받기
  2. 2013.04.04 [Spring] Log4J 설정
  3. 2013.04.04 [Spring] Spring 스케쥴러(Quartz)

@pathVariable 배열 형태 받기

문제

가끔 @pathVariable 을 이용한 배열 형태를 받고자 하는 경우가 발생..

어떻게?


방법

다음과 같이 처리 : 구분자를 이용한 split 함수 이용

@RequestMapping(value="/test/{firstNameIds}", method=RequestMethod.GET)
@ResponseBody
public String test(@PathVariable String firstNameIds)
{
     String[] ids = firstNameIds.split(",");
     return "Dummy"; 
}


입력 되는 값

http://localhost:8080/public/test/1,3,4,50


참고 : http://stackoverflow.com/questions/9623258/passing-an-array-or-list-to-pathvariable-spring-java

'spring' 카테고리의 다른 글

[Spring] Log4J 설정  (0) 2013.04.04
[Spring] Spring 스케쥴러(Quartz)  (0) 2013.04.04
Posted by airlueos
,

[Spring] Log4J 설정

spring 2013. 4. 4. 13:35

출처: http://shonm.tistory.com/217


로그를 쉽게 사용하는데다가 sql 관련 된 것까지 상세히 알수 있는 Log4J 가 개발에 보편적으로 이용되고 있다.

설정 순서
1. web.xml 에서 listener 설정(spring 상의)
2. web.xml 에서 Log4J 설정파일 위치 설정
3. log4j 설정 파일인 log4j.properties 작성


차례대로 살펴보면

1. web.xml 에서 listener 설정
 <listener>
  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
 </listener>

2. web.xml 에서 Log4J 설정파일 위치 설정

 <context-param>
  <param-name>log4jConfigLocation</param-name>
  <param-value>/WEB-INF/config/property/log4j.properties</param-value>
 </context-param>

3. log4j 설정 파일인 log4j.properties 작성-2.에서 설정한 위치에 log4j.properties 라는 파일이름으로

# For JBoss : Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml
# For all other servers: Comment out the Log4J listerner in web.xml to activate Log4J.xml

DEBUG, INFO, WARN, ERROR, FATAL

log4j.rootCategory=DEBUG, stdout(표시 정도 옵션 : DEBUG, INFO, WARN, ERROR, FATAL)

log4j.debug=false

#Console log
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.ImmediateFlush=true
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout.ConversionPattern=[%p] (%F) - %m%n

'spring' 카테고리의 다른 글

[Spring] @pathVariable 배열 형태 받기  (0) 2013.04.29
[Spring] Spring 스케쥴러(Quartz)  (0) 2013.04.04
Posted by airlueos
,

출처 : http://shonm.tistory.com/entry/Spring-%EC%8A%A4%EC%BC%80%EC%A5%B4%EB%9F%AC-Quartz


스프링은 크론과 같은 스케쥴러를 제공 한다.

일단

1. 스케쥴러로 작동될 클래스를 작성한다.

package com.login.service;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

import com.dto.User;
import com.login.dao.LoginDAO;

public class QuartzService extends QuartzJobBean{

//QuartzJobBean 을 상속 받아야 한다.
 LoginDAO loginDAO;
 
 
 
 public void setLoginDAO(LoginDAO loginDAO) {
  this.loginDAO = loginDAO;
 }

 

 protected void executeInternal(JobExecutionContext jobExecutionContext)
 throws JobExecutionException {

// 이 메소드가 있는 부분이 실행될 부분이다. 
  // 반복할 작업 구현
  User user   =  new User();
  user.setId("shonm");
  
  User confirmUser =  loginDAO.selectUser(user);
  
  System.out.println(confirmUser.getId()+"님 "+"비밀번호 "+confirmUser.getPw());
 }
}


2. 작성된 클래스를 xml에 설정하고 Quartz 설정을 해준다.
applicationContext-Quartz.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
 xmlns:tx="
http://www.springframework.org/schema/tx"
 xsi:schemaLocation="
   
http://www.springframework.org/schema/beans 
   
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
            http://www.springframework.org/schema/aop 
            
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
            http://www.springframework.org/schema/tx 
            
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">


 <bean id="UserJob" class="org.springframework.scheduling.quartz.JobDetailBean">
  <!-- 실행시킬 클래스 -->
  <property name="jobClass" value="com.login.service.QuartzService"/>
  <property name="jobDataAsMap">
   <map>
    <entry key="loginDAO">
     <ref bean="loginDao"/><!-- 실행시킬 클래스의 DI -->
    </entry>
   </map>
  </property>
 </bean>
 

<!--
SimpleTriggerBean 과 CronTriggerBean 두가지를 쓸수 있는데 앞의 것은
몇분마다 실행 뭐 이럴 때 스는 것이고...
cronExpression은 매년 3월 2일 아니면 매일 새벽 1시 마다 실행등을 할 때 쓰인다.

SimpleTriggerBean 은 주기를 설정하는  property 로 repeatInterval 를 갖고
CronTriggerBean 은 주기를 설정하는 property 로 cronExpression 을 사용한다.

-->
 <bean id="UserTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
 <!--  bean id="UserTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">-->
  <property name="jobDetail" ref="UserJob"/>
  
     <!--  property name="cronExpression" value="0 0 1 * * ?"/>-->
     <!-- 초,분,시,일,월,주의 일,년 -->
     <!-- 매일 오전 1시에 실행됨 -->
     
     <!-- value는 1000 이 1초 -->
     <property name="repeatInterval" value="10000"></property>
  
 </bean>
 
<!--   trigger 를 장착하고 실행시킨다.-->
 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" autowire="no">
  <property name="triggers">
   <list>
    <ref bean="UserTrigger"/>
   </list>
  </property>
  <property name="quartzProperties">
   <props>
    <prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool</prop>
    <prop key="org.quartz.threadPool.threadCount">5</prop>
    <prop key="org.quartz.threadPool.threadPriority">4</prop>
    <prop key="org.quartz.jobStore.class">org.quartz.simpl.RAMJobStore</prop>
    <prop key="org.quartz.jobStore.misfireThreshold">60000</prop>
   
   </props>
  </property>
 </bean>
 
 
</beans>

'spring' 카테고리의 다른 글

[Spring] @pathVariable 배열 형태 받기  (0) 2013.04.29
[Spring] Log4J 설정  (0) 2013.04.04
Posted by airlueos
,