2014-12-03 3 views
0

봄 (Java) (web.xml 없음)을 통해 세션 시간 초과를 변경하려고합니다.봄 초기화에서 속성 값 사용

시간 제한을 하드 코딩해도 괜찮은 것처럼 보이지만 바람직하지 않습니다. 초기화하는 동안 @Value 주석을 사용하는 방법이 있습니까?

예.

@PropertySource("classpath:/com/example/demo.properties") 
    public class Initialiser implements WebApplicationInitializer { 

    /** Session timeout in seconds. */ 
    @Value(value = "${session-timeout}") 
    private int sessionTimeout; 

    @Override 
    public void onStartup(final ServletContext container) { 
     container.addListener(new SessionListener(sessionTimeout)); 
    } 
} 

시작시 필드를 입력 할 수 없으므로 런타임시 0입니다. 이 둘레에 어쨌든 있습니까?

도움 주셔서 감사합니다.

당신은이 방법으로 시도 할 수
+0

내가 @Value (값 = "# {systemProperties [ '세션 타임 아웃']}") 시스템 특성에 넣어 할 줄을 – MarianP

답변

0

:

@PropertySource("classpath:/com/example/demo.properties") 
public class Initialiser implements WebApplicationInitializer { 

    @Resource 
    private Environment env; 

    @Override 
    public void onStartup(final ServletContext container) { 
     container.addListener(new SessionListener(env.getRequiredProperty("session-timeout"))); 
    } 
} 
+0

불행하게도 내게 준 그 "구성 요소 시작 실패"오류. – wybourn

+0

루트 오류 란 무엇입니까? 스택 추적을 게시 할 수 있습니까? – wesker317