[SPRING] 스프링 부트 응용 프로그램에 사용자 정의 ApplicationContextInitializer를 추가하는 방법은 무엇입니까?
SPRING스프링 부트 응용 프로그램에 사용자 정의 ApplicationContextInitializer를 추가하는 방법은 무엇입니까?
사용자 정의 ApplicationContextInitializer를 스프링 웹 애플리케이션에 추가하는 한 가지 방법은 아래와 같이 web.xml 파일에 추가하는 것입니다.
<context-param>
<param-name>contextInitializerClasses</param-name>
<param-value>somepackage.CustomApplicationContextInitializer</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
하지만 스프링 부트를 사용하고 있기 때문에 CustomApplicationContextInitializer를 추가하기 위해 web.xml을 만들 필요가없는 방법이 있습니까?
해결법
-
==============================
1.META-INF / spring.factories에 등록 할 수 있습니다.
META-INF / spring.factories에 등록 할 수 있습니다.
org.springframework.context.ApplicationContextInitializer=\ com.example.YourInitializer
SpringApplication을 실행하기 전에 SpringApplication에 추가 할 수도있다.
application.addInitializers(YourInitializer.class); application.run(args);
또는 건축업자에게
new SpringApplicationBuilder(YourApp.class) .initializers(YourInitializer.class); .run(args);
의사에게 처음에는 눈에 띄지 않았으므로 # 5091을 열어 확인했습니다.
-
==============================
2.또 다른 접근법은 property / yml 파일에서 context.initializer.classes = com.example.YourInitializer를 사용하는 것입니다. 나는이 접근법을 좋아한다. 왜냐하면 환경 특정 소품 파일을 통해 이니셜 라이저를 활성화 / 비활성화 할 수 있기 때문이다.
또 다른 접근법은 property / yml 파일에서 context.initializer.classes = com.example.YourInitializer를 사용하는 것입니다. 나는이 접근법을 좋아한다. 왜냐하면 환경 특정 소품 파일을 통해 이니셜 라이저를 활성화 / 비활성화 할 수 있기 때문이다.
스프링 부트 문서에 간략하게 언급되어 있습니다.
from https://stackoverflow.com/questions/35217354/how-to-add-custom-applicationcontextinitializer-to-a-spring-boot-application by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 봄 + JPA + MVC - 빈 생성 오류 (0) | 2019.04.05 |
---|---|
[SPRING] 가능한가요? 보조 주사를 봄에하는 방법이 있습니까? (0) | 2019.04.05 |
[SPRING] Spring 애플리케이션을 종료하면 데이터 소스의 JNDI 이름이 JDBC 컨텍스트에서 사라집니다. (0) | 2019.04.05 |
[SPRING] spring-oauth2 로그인 성공 처리기 (0) | 2019.04.05 |
[SPRING] 스프링 - 배치 관리자와 스프링 부트를 적절하게 통합 할 수있는 방법이 있습니까? (0) | 2019.04.05 |