[SPRING] 스프링 빈 초기화 순서
SPRING스프링 빈 초기화 순서
여러 개의 컨텍스트 파일이 있습니다. 요구 사항은 다음과 같습니다. Bean (일부 구성 변경)은 나머지 bean 중에서 먼저 초기화됩니다.
이 Bean을 먼저로드하는 방법이 있습니까?
하나의 옵션은 depends-on` 속성을 사용하는 것입니다. 그러나 그것은 모든 콩을 업데이트해야 할 것이므로 최상의 해결책은 아닙니다.
더 나은 선택이 있습니까?
해결법
-
==============================
1.IMHO https://jira.spring.io/browse/SPR-3948을 수정할 때까지 기다려야합니다.
IMHO https://jira.spring.io/browse/SPR-3948을 수정할 때까지 기다려야합니다.
사실, 각 applicationContext.xml마다 각각의 의존성을 사용하지 않아도됩니다.
모든 "하위 수준"applicationContext.xml에서
를 사용하여 최상위 applicationContext.xml을 가져옵니다. 그리고 가장 먼저로드해야하는
을 제외하고는 최상위의 applicationContext.xml에서만 각 bean 정의에 depends-on 속성을 사용하십시오. -
==============================
2.일반적으로 기술 빈 (예 : MBean 추가)이 비즈니스 빈 앞에로드되도록 bean의 순서를 요구하는 것은 의미가 있습니다 (http://jira.springframework.org/browse/SPR-3948에서 제안 된 것과 같습니다)
일반적으로 기술 빈 (예 : MBean 추가)이 비즈니스 빈 앞에로드되도록 bean의 순서를 요구하는 것은 의미가 있습니다 (http://jira.springframework.org/browse/SPR-3948에서 제안 된 것과 같습니다)
BeanPostProcessor를 사용하는 것은 빈에서 순서를 제공하는 또 다른 방법입니다. 어떻게 적용되는지 보려면 AbstractApplicationContext.refresh ()를 확인하십시오.
-
==============================
3.@Order를 사용하여 bean에 주석을 달아 빈 시작 순서에 영향을 미쳤습니다. http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/core/annotation/Order.html을 참조하십시오.
@Order를 사용하여 bean에 주석을 달아 빈 시작 순서에 영향을 미쳤습니다. http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/core/annotation/Order.html을 참조하십시오.
-
==============================
4.나는 봄 전문가가 아니며 누군가있는 사람에게 큰소리로 외칠 것 같다. 하지만 그때까지 ...
나는 봄 전문가가 아니며 누군가있는 사람에게 큰소리로 외칠 것 같다. 하지만 그때까지 ...
모호한 부분이있는 곳에서는 Spring이 설정 파일에서 발견 한 순서대로 항목을로드 / 적용한다고 추측 할 수 있습니다. 따라서, 가장 간단하고 근사적인 근사법으로, 나는 여러분이 처음에 초기화하고자하는 것이 설정 파일의 첫 번째 것들 중 하나라는 것을 확실히하려고 노력할 것입니다.
계층 구조가 모두있는 경우 "기본"구성을 다른 구성 요소가 호출되기 전에 "기본"파일에 있거나 가능한 경우 첫 번째 호출 된 파일에 포함시켜야합니다.
from https://stackoverflow.com/questions/3187899/order-of-spring-bean-initialization by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] TomcatEmbeddedServletContainerFactory가 봄 부팅 2에 없습니다. (0) | 2019.01.13 |
---|---|
[SPRING] Spring Boot에서 사용되는 데이터베이스 스키마 변경 (0) | 2019.01.13 |
[SPRING] Spring-Boot javax.validation.Validator를 올바르게 삽입하는 법 (0) | 2019.01.13 |
[SPRING] Spring MVC에서 param을 요청하기위한 날짜 전달하기 (0) | 2019.01.13 |
[SPRING] 스프링 데이터 jpa @query 및 페이지 가능 (0) | 2019.01.13 |