Spring init-method et destroy-method example
Dans Spring, vous pouvez utiliserinit-method etdestroy-method comme attribut dans le fichier de configuration du bean pour que le bean effectue certaines actions lors de l'initialisation et de la destruction. Alternative àInitializingBean and DisposableBean interface.
Exemple
Voici un exemple pour vous montrer comment utiliserinit-method etdestroy-method.
package com.example.customer.services; public class CustomerService { String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public void initIt() throws Exception { System.out.println("Init method after properties are set : " + message); } public void cleanUp() throws Exception { System.out.println("Spring Container is destroy! Customer clean up"); } }
File : Spring-Customer.xml, définissez l'attributinit-method etdestroy-method dans votre bean.
Exécuter
package com.example.common; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.example.customer.services.CustomerService; public class App { public static void main( String[] args ) { ConfigurableApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"Spring-Customer.xml"}); CustomerService cust = (CustomerService)context.getBean("customerService"); System.out.println(cust); context.close(); } }
Le ConfigurableApplicationContext.close fermera le contexte de l'application, libérant toutes les ressources et détruisant tous les beans singleton mis en cache.
_
Output_
Init method after properties are set : i'm property message com.example.customer.services.CustomerService@47393f ... INFO: Destroying singletons in org.springframework.beans.factory. support.DefaultListableBeanFactory@77158a: defining beans [customerService]; root of factory hierarchy Spring Container is destroy! Customer clean up
La méthodeinitIt() est appelée, une fois la propriété message définie, et la méthodecleanUp() est appelée après context.close ();
Thoughts…
Il est toujours recommandé d'utiliserinit-method etdestroy-method dans le fichier de configuration du bean, au lieu d'implémenter les interfaces InitializingBean et DisposableBean pour que votre code soit inutilement couplé à Spring.
Télécharger le code source
Téléchargez-le -Spring-init-method-destroy-method-Example.zip