[SPRING] 생명주기 이벤트에서 BeanFactoryPostProcessor 및 BeanPostProcessor
SPRING생명주기 이벤트에서 BeanFactoryPostProcessor 및 BeanPostProcessor
나는 BeanFactoryPostProcessor와 BeanPostProcessor의 차이점을 이해하려고 노력했다.
BeanFactoryPostProcessor가 Bean 정의에서 작동한다는 것을 알았습니다. 즉, Bean 인스턴스가 생성되기 전에 BeanFactoryPostProcessor가 실행되고 Bean이 인스턴스화되고 라이프 사이클 이벤트가 호출 된 후에 BeanPostProcessor가 실행됩니다.
이것은 BeanFactoryPostProcessor가 BeanPostProcessor가 Spring 라이프 사이클 이벤트의 일부인 반면 인스턴스 생성 전에 호출 된 스프링 라이프 사이클 이벤트의 일부가 아니라는 것을 의미합니까? 내 이해가 옳은지를 친절히 확인하십시오.
해결법
-
==============================
1.BeanFactoryPostProcessor는 인터페이스이며 그것을 구현하는 빈은 실제로 Spring 라이프 사이클을 거치는 빈 (아래 예제)이지만이 빈은 선언 된 다른 빈의 라이프 사이클에 참여하지 않습니다.
BeanFactoryPostProcessor는 인터페이스이며 그것을 구현하는 빈은 실제로 Spring 라이프 사이클을 거치는 빈 (아래 예제)이지만이 빈은 선언 된 다른 빈의 라이프 사이클에 참여하지 않습니다.
public class CustomBeanFactory implements BeanFactoryPostProcessor { @Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { for (String beanName : beanFactory.getBeanDefinitionNames()) { BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName); // Manipulate the beanDefiniton or whatever you need to do } } }
BeanFactoryPostProcessor 및 BeanPostProcessor에 대한 차이점은 다음과 같습니다.
-
==============================
2.BeanFactoryPostProcessor는 Bean 객체 인스턴스화 전에 실행됩니다 (즉, Applicationcontext 컨테이너가 초기화 될 때)
BeanFactoryPostProcessor는 Bean 객체 인스턴스화 전에 실행됩니다 (즉, Applicationcontext 컨테이너가 초기화 될 때)
BeanPostprocessor는 bean 객체가 생성 된 후에 init ()과 init () 전에 실행될 수 있기 때문에 실행됩니다.
from https://stackoverflow.com/questions/30455536/beanfactorypostprocessor-and-beanpostprocessor-in-lifecycle-events by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 단일 페이지 AngularJS 응용 프로그램을위한 기본 스프링 보안 (세션 관리) 구현 방법 (0) | 2019.01.13 |
---|---|
[SPRING] Spring 3 - 다른 객체 속성을 기반으로 런타임에 동적 Autowiring (0) | 2019.01.13 |
[SPRING] Spring : 주석 중심 트랜잭션 관리자 (0) | 2019.01.13 |
[SPRING] spring.handlers 및 spring.schemas에 대한 이해가 필요합니다. (0) | 2019.01.13 |
[SPRING] application.properties에서 정적 변수에 값을 할당하는 방법은 무엇입니까? (0) | 2019.01.13 |