반응형
사용자 지정 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을 생성하지 않아도 되는 방법이 있습니까?
에 등록할 수 있습니다.META-INF/spring.factories
org.springframework.context.ApplicationContextInitializer=\
com.example.YourInitializer
또한 다음에 추가할 수도 있습니다.SpringApplication
실행하기 전에
application.addInitializers(YourInitializer.class);
application.run(args);
아니면 건설업자에게
new SpringApplicationBuilder(YourApp.class)
.initializers(YourInitializer.class);
.run(args);
언뜻 보기에 문서상으로는 명확하지 않아서 #5091을 열어 확인했습니다.
또 다른 접근 방식은context.initializer.classes=com.example.YourInitializer
속성/yml 파일에 있습니다.환경별 속성 파일을 통해 이니셜라이저를 활성화/비활성화할 수 있기 때문에 이 방법이 좋습니다.
스프링 부트 문서에만 간략하게 언급되어 있습니다.
다른 옵션은 다음과 같이 클래스 수준에서 @ContextConfiguration 주석을 사용하는 것입니다.
@ContextConfiguration(initializers = [TestContainersInitializer::class])
이 방법은 테스트를 실행하기 전에 도커 컨테이너를 시작하는 등 이 이니셜라이저를 테스트 클래스에 추가하는 데 유용합니다.
언급URL : https://stackoverflow.com/questions/35217354/how-to-add-custom-applicationcontextinitializer-to-a-spring-boot-application
반응형
'sourcecode' 카테고리의 다른 글
BEA-141297 - 서버 파일 잠금을 가져올 수 없습니다. (0) | 2023.06.27 |
---|---|
NLTK python 오류: "TypeError: 'dict_keys' 개체를 구독할 수 없습니다." (0) | 2023.06.22 |
파티션 키/값을 역직렬화하는 동안 Kafka 오류가 발생했습니다. (0) | 2023.06.22 |
스프링 프로파일, 다양한 Log4j2 구성 (0) | 2023.06.22 |
.NET을 사용하여 Oracle에 대량 삽입 (0) | 2023.06.22 |