[SPRING] @Configuration 클래스에서 @PostConstruct의 예상되는 동작은 무엇입니까?
SPRING@Configuration 클래스에서 @PostConstruct의 예상되는 동작은 무엇입니까?
Spring java-config (@Configuration 사용)를 사용하여 bean을 정의하는 프로젝트를 재사용하고 있으며, 하나의 클래스에는 @PostConstruct init 메소드가 있습니다.
여기서 예상되는 동작은 무엇입니까?이 메서드는 언제 호출됩니까? 콩과 관련해서는. 나. 이 메소드는 마치 구성 클래스가 bean 인 것과 똑같이 동작합니까 (사실은 하나입니까?).
운영 체제에 따라 구성 클래스에 @Autowired 인 Bean이 초기화되기 전에 호출 될 수 있으므로 불완전한 종속성에 대한 작업이 끝납니다.
해결법
-
==============================
1.@Configuration에 대해서조차도 @PostConstruct는 예상대로 동작합니다. 클래스의 종속성이 주입 된 후에 호출됩니다. 이것은 다소 혼란 스럽지만 (@Configuration 클래스가 bean이라는 사실과 함께), 정확합니다.
@Configuration에 대해서조차도 @PostConstruct는 예상대로 동작합니다. 클래스의 종속성이 주입 된 후에 호출됩니다. 이것은 다소 혼란 스럽지만 (@Configuration 클래스가 bean이라는 사실과 함께), 정확합니다.
현재의 문제는 스프링 보안 oauth의 도움으로 소개 된 숨겨진 순환 의존성이었습니다.이 논의의 범위를 벗어나는 회선 집합입니다.
@PostConstruct는 의존성 빈이 순환 종속성의 경우에만 완전히 초기화되지 않으면 호출 될 수 있습니다. setter 또는 필드 주입을 통해 종속성이 제공된 경우 순환 종속성은보고되지 않으며 불완전한 빈이 사용됩니다.
또한 여기서 주목해야 할 점은 순환 의존성 처리가 OS (JVM 또는 JRE 차이점을 의미)에 의존한다는 것입니다.
from https://stackoverflow.com/questions/24548004/what-is-the-expected-behaviour-of-postconstruct-in-configuration-classes by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링에서 freemarker 템플릿으로 요청 문맥을 얻는 법 (0) | 2019.03.18 |
---|---|
[SPRING] Spring MVC Form tags : "No selection"항목을 추가하는 표준 방법이 있습니까? (0) | 2019.03.18 |
[SPRING] Java 프로젝트 : ApplicationContext를로드하지 못했습니다. (0) | 2019.03.18 |
[SPRING] 바람둥이에 봄 mvc 응용 프로그램에 대한 응용 프로그램 루트 변경 (0) | 2019.03.18 |
[SPRING] Spring 데이터 Rest : 사용자 자원 반환 (0) | 2019.03.18 |