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.

Quelle: digitalocean.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren:

Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

Mongoose mit MongoDB und NodeJS einrichten

JavaScript, Tutorial
Vijona16. Dezember 2025 Mongoose mit MongoDB und NodeJS einrichten Content1 Überblick zu Mongoose2 Voraussetzungen3 1. MongoDB4 2. NodeJS und NPM5 3. Mongoose-Projekt initialisieren6 4. Ein Modell definieren7 5. Dokumente in…
Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

Node.js und NPM auf Ubuntu 22.04 installieren und verwalten

JavaScript, Tutorial
Vijona30. Oktober 2025 Node.js und NPM auf Ubuntu 22.04 installieren Node.js ist eine plattformübergreifende, Open-Source-JavaScript-Laufzeitumgebung, die zur Entwicklung skalierbarer serverseitiger Anwendungen dient. NPM fungiert dabei als Paketmanager, der Abhängigkeiten, Bibliotheken…