2011-03-24 22 views
88

Estoy convirtiendo un controlador en la versión de anotación más nueva. En la versión anterior he usado para especificar el método init en SpringMVC-servlet.xml usando:Método Init en Spring Controller (versión de anotación)

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

¿Cómo puedo especificar el método init utilizando la versión de anotación?

+0

Véase también http://stackoverflow.com/questions/1088550 – skaffman

Respuesta

198

Puede utilizar

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

por cierto: desde Java 1.7 –

+0

@PeterRader, Java 1.7 no es un requisito :) –

+1

Tiene usted razón, su "Anotaciones comunes 1.0", Java1 .7 también funcionará. –

18

Alternativamente, usted puede tener su clase implementa la interfaz InitializingBean para proporcionar una función de devolución de llamada (afterPropertiesSet()), que invocará el Application Context cuando se construye el grano.

0
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 
    } 

} 
Cuestiones relacionadas