Cloud-Lösungen der Zukunft - Testen!
Revolutionäre Cloud-Technologie, ganz ohne versteckte Kosten. Profitieren Sie von unserer Testphase und entdecken Sie umfassende Funktionen. Der Anmeldeprozess ist transparent und unkompliziert. Starten Sie jetzt Ihre Reise in die Cloud - Kostenfrei!
Spring Bean Annotation
Die Spring @Bean Annotation wird auf eine Methode angewendet, um anzugeben, dass sie einen Bean zurückgibt, der vom Spring-Kontext verwaltet wird. Die Spring Bean Annotation wird normalerweise in den Methoden von Configuration-Klassen deklariert. In diesem Fall können Bean-Methoden auf andere @Bean-Methoden in derselben Klasse direkt verweisen, indem sie diese direkt aufrufen.
Spring Bean Beispiel
Nehmen wir an, wir haben eine einfache Klasse wie folgt.
package com.journaldev.spring;
public class MyDAOBean {
@Override
public String toString() {
return "MyDAOBean" + this.hashCode();
}
}
Hier ist eine Configuration-Klasse, in der wir eine @Bean-Methode für die MyDAOBean-Klasse definiert haben.
package com.journaldev.spring;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MyAppConfiguration {
@Bean
public MyDAOBean getMyDAOBean() {
return new MyDAOBean();
}
}
Wir können den MyDAOBean-Bean aus dem Spring-Kontext mit dem folgenden Code-Snippet beziehen.
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
context.scan("com.journaldev.spring");
context.refresh();
//Getting Bean by Class
MyDAOBean myDAOBean = context.getBean(MyDAOBean.class);
Spring Bean-Name
Wir können den @Bean-Namen spezifizieren und ihn verwenden, um die Beans aus dem Spring-Kontext zu beziehen. Nehmen wir an, wir haben eine MyFileSystemBean-Klasse wie folgt definiert:
package com.journaldev.spring;
public class MyFileSystemBean {
@Override
public String toString() {
return "MyFileSystemBean" + this.hashCode();
}
public void init() {
System.out.println("init method called");
}
public void destroy() {
System.out.println("destroy method called");
}
}
Definieren Sie jetzt eine @Bean-Methode in der Konfigurationsklasse:
@Bean(name= {"getMyFileSystemBean","MyFileSystemBean"})
public MyFileSystemBean getMyFileSystemBean() {
return new MyFileSystemBean();
}
Wir können diesen Bean aus dem Kontext unter Verwendung des Bean-Namens beziehen.
MyFileSystemBean myFileSystemBean = (MyFileSystemBean) context.getBean("getMyFileSystemBean");
MyFileSystemBean myFileSystemBean1 = (MyFileSystemBean) context.getBean("MyFileSystemBean");
Spring @Bean initMethod und destroyMethod
Wir können auch eine Init-Methode und eine Destroy-Methode für Spring Beans spezifizieren. Diese Methoden werden aufgerufen, wenn der Spring Bean erstellt wird und wenn der Kontext entsprechend geschlossen wird.
@Bean(name= {"getMyFileSystemBean","MyFileSystemBean"}, initMethod="init", destroyMethod="destroy")
public MyFileSystemBean getMyFileSystemBean() {
return new MyFileSystemBean();
}
Sie werden bemerken, dass die „init“-Methode aufgerufen wird, wenn wir die Kontext-Refresh-Methode aufrufen und die „destroy“-Methode aufgerufen wird, wenn wir die Kontext-Schließ-Methode aufrufen.
Zusammenfassung
Die Spring @Bean Annotation wird häufig in annotierungsbasierten Spring-Anwendungen verwendet.
Kostenlosen Account erstellen
Registrieren Sie sich jetzt und erhalten Sie exklusiven Zugang zu weiterführenden Ressourcen, individuellem Support und einer Community von Experten.
Aktuelle Beiträge
Starten Sie Ihre Kostenlose Cloud-Testversion – Perfektionieren Sie Ihre Spring-Kenntnisse
Entfesseln Sie das volle Potenzial Ihrer Spring-Projekte mit unseren fortschrittlichen Cloud-Lösungen. Als Cloud-Anbieter, der sich Ihrem Erfolg verschrieben hat, bieten wir eine maßgeschneiderte Testversion.