이 중 하나를 사용 했으므로 시간이 지났지 만 참조하는 콜백 메서드와 @PostConstruct 메서드는 같은 것으로 생각합니다. 그러나 귀하의 질문에 대답하려면 차이점은 ....
1) @PostConstruct (또는 afterPropertiesSet) 메소드는 Bean이 인스턴스화 된 후 호출 될 특정 클래스의 내부 메소드입니다. 이것은 실제로 유형별 작업을 배치하는 곳입니다.
2) BeanPostProcessor는 모든 스프링 빈을 건드린다. 여기서 클래스 별 기능이 아닌 교차 컷 기능을 넣을 수 있습니다.
작은 예는 ... 내 친구와 주소를 추적 할 수있는 작은 주소록 응용 프로그램이 있다고 가정 해보십시오. 추적 할 수없는 미친 버그가있는 경우 BeanPostProcessor를 사용하여 "현재 Address.getStreet() ...를 호출하고 Address.getCity()를 호출하는 등 일부 로깅을 사용하여 모든 Spring bean을 래핑 할 수 있습니다. .. ".
이제 주소에서 @PostConstruct 메서드를 사용하여 일부 웹 서비스에 대해 도시/주만있는 주소의 우편 번호를 확인하고 조회 할 수 있습니다.
실제로 도메인 객체 중 하나가 실제로 웹 서비스를 공격하지는 않지만 @PostConstruct가 클래스 관련 항목을 처리하고 BeanPostProcessor가 여러 클래스에 걸친 것을 처리 할 수 있다는 것을 보여주기위한 아이디어입니다. .
또한 BeanPostProcessor에는 postProcessBeforeInitialization과 postProcessAfterInitialization의 두 가지 메소드가 있습니다. postProcessBeforeInitialization과 postProcessAfterInitialization은 Bean의 @PostConstruct 메소드 전후에 실행할 항목을 결정할 수있게 해줍니다. 1. PostProcessBeforeInitialization 및 PostProcessAfterInitialization :
Koushik의 봄에 몇 가지 동영상이 있습니다. 시청할 수 있습니다. 유익한 정보를 제공했습니다. – user533