java 자바 - Spring Controller의 Init 메소드(주석 버전)




함수 (4)

저는 컨트롤러를 새로운 주석 버전으로 변환하고 있습니다. 이전 버전에서는 springmvc-servlet.xml의 init 메소드를 다음과 같이 지정했습니다.

<beans>
    <bean id="myBean" class="..." init-method="init"/>
</beans>

어노테이션 버전을 사용하여 init 메소드를 어떻게 지정합니까?


Answers

public class InitHelloWorld implements BeanPostProcessor {

   public Object postProcessBeforeInitialization(Object bean,
             String beanName) throws BeansException {
       System.out.println("BeforeInitialization : " + beanName);
       return bean;  // you can return any other object as well
   }

   public Object postProcessAfterInitialization(Object bean,
             String beanName) throws BeansException {
       System.out.println("AfterInitialization : " + beanName);
       return bean;  // you can return any other object as well
   }

}

또는 Bean이 생성 될 때 ApplicationContext가 호출 할 콜백 함수 ( afterPropertiesSet() )를 제공하기 위해 클래스가 InitializingBean 인터페이스를 구현하도록 할 수 있습니다.


당신이 사용할 수있는

@PostConstruct
public void init() {
   // ...
}

실패한 커스텀 잭슨 시리얼 라이저 / 디시리얼라이저도 문제가 될 수 있습니다. 그것은 당신의 경우는 아니지만 언급할만한 가치가 있습니다.

나는 같은 예외를 겪었고 그 경우도 마찬가지였다.





java spring annotations controller