Beispiel für Spring-Init-Methode und Zerstörungsmethode

Beispiel für Spring-Init-Methode und Destroy-Methode

Im Frühjahr können Sieinit-method unddestroy-method als Attribut in der Bean-Konfigurationsdatei für Bean verwenden, um bestimmte Aktionen bei der Initialisierung und Zerstörung auszuführen. Alternative zuInitializingBean and DisposableBean interface.

Beispiel

Hier ist ein Beispiel, das Ihnen zeigt, wie Sieinit-method unddestroy-method verwenden.

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, definieren Sie die Attributeinit-method unddestroy-method in Ihrer Bean.



    

        
    

Starte es

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();
    }
}

Die Datei ConfigurableApplicationContext.close schließt den Anwendungskontext, gibt alle Ressourcen frei und zerstört alle zwischengespeicherten Singleton-Beans.
_
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

DieinitIt()-Methode wird aufgerufen, nachdem die Nachrichteneigenschaft festgelegt wurde, und diecleanUp()-Methode wird nach context.close () aufgerufen.

Thoughts…
Es wird immer empfohlen,init-method unddestroy-method in der Bean-Konfigurationsdatei zu verwenden, anstatt die Schnittstellen InitializingBean und DisposableBean zu implementieren, damit Ihr Code unnötig an Spring gekoppelt wird.

Quellcode herunterladen