541 Stimmen

Was sind überhaupt Spring Beans?

Ich habe noch keine hochrangige Definition von Spring-Beans gefunden, die ich verstehen kann. Ich sehe sie oft in der Grails-Dokumentation und in Büchern erwähnt, aber ich denke, dass es von Vorteil wäre zu verstehen, was sie sind. Also, was sind Spring-Beans? Wie können sie verwendet werden? Haben sie etwas mit Dependency Injection zu tun?

2voto

Die XML-Konfiguration von Spring besteht aus Beans, wobei Beans im Grunde Klassen sind. Sie sind nur POJOs, die wir innerhalb unseres ApplicationContext verwenden. Das Definieren von Beans kann als Ersetzen des Schlüsselworts new angesehen werden. Überall dort, wo Sie das Schlüsselwort new in Ihrer Anwendung verwenden, zum Beispiel:

MyRepository myRepository =new MyRepository ();

Wo Sie dieses Schlüsselwort new verwenden, ist dies ein Ort, an dem Sie diese Konfiguration entfernen und in eine XML-Datei einfügen können. Also werden wir so programmieren:

Jetzt können wir einfach Setter Injection/Constructor Injection verwenden. Ich benutze Setter Injection.

public class MyServiceImpl implements MyService {
    private MyRepository myRepository;
    public void setMyRepository(MyRepository myRepository)
        {
    this.myRepository = myRepository ;
        }
public List findAll() {
        return myRepository.findAll();
    }
}

1voto

Für Frühling sind alle Objekte Bohnen! Der grundlegende Schritt im Spring Framework besteht darin, Ihre Objekte als Bohnen zu definieren. Bohnen sind nichts anderes als Objektinstanzen, die vom Spring-Framework erstellt werden, indem es sich ihre Klassendefinitionen ansieht. Diese Definitionen bilden im Grunde genommen die Konfigurationsmetadaten. Das Framework erstellt dann einen Plan, welches Objekte instanziiert werden müssen, welche Abhängigkeiten gesetzt und injiziert werden müssen, der Bereich der neu erstellten Instanz usw. basierend auf diesen Konfigurationsmetadaten.

Die Metadaten können in einer einfachen XML-Datei bereitgestellt werden, ähnlich wie im ersten Kapitel. Alternativ können die Metadaten als Annotation oder Java-Konfiguration bereitgestellt werden.

Buch: Just Spring

1voto

Abanoub Asaad Punkte 510

Beans sind Instanzen einer Klasse, die vom Spring Container verwaltet werden.

0voto

rps Punkte 151

Um eine Java-Klasse als Java-Bean verwenden zu können, müssen die Namen ihrer Setter- und Getter-Methoden gemäß den JavaBean-Richtlinien (auch Design Patterns genannt) für Properties sein. Wenn eine solche Java-Klasse instanziierbar und verwaltbar durch den Spring IoC-Container ist, handelt es sich um ein Spring Bean. Um dies zu erreichen, verdrahtet der Programmierer die Klasse als Bean-Definition eines geeigneten Scope, indem er XML-Konfigurationsdateien oder Annotationen oder eine Mischung aus beiden verwendet. Der Programmierer kann neue Spring Beans aus vorhandenen Spring Beans erstellen, indem er sie weiter verdrahtet und letztere entweder als String-Namen als idref-Elemente oder durch Dependency Injection (es kann rekursiv sein) den Konstruktor-Argumenten des Ersteren übergibt.

Diese Antwort kann in Verbindung mit meiner dieser SO-Antwort gelesen werden, um weitere Hintergrundinformationen zu erhalten.

-2voto

Kurz gesagt werden Beans als Laufzeitobjekte bezeichnet, und wenn ein Laufzeitobjekt von dem Spring verwaltet wird, dann wird es als Spring Bean bezeichnet.

Wir können diese Laufzeitobjekte ohne Verwendung des new-Schlüsselworts (das zum Erstellen von Objekten verwendet wird) mithilfe des @Autowired-Schlüsselworts nutzen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X