In der Vergangenheit haben Java Frameworks XML als Konfigurationsdateien grundsätzlich verwendet, aber jetzt unterstützen Java -Frameworks "Zero -Konfiguration" basierend auf Annotation anstelle von XML -Konfigurationsdateien. Struts2, Hibernate und Spring haben alle begonnen, Annotation anstelle von XML -Konfigurationsdateien zu verwenden. und Spring3.x bietet drei Optionen, nämlich: XML-basierte Konfiguration, Annotationsbasierte Konfiguration und Java-basierte Konfiguration.
Im Folgenden finden Sie die drei Konfigurationsmethoden; Definieren Sie zum Beispiel zuerst eine Javabäer.
Paket com.chinalife.dao public class loginuserdao {... // Wird verwendet, um die Initialisierungsmethode public void myInit () {} // zum Festlegen der Zerstörungsmethode public void myDestroy () {}} verwendet1. XML-basierte Konfiguration
<bean id = "loginuserdao" class = "com.chinalife
In der XML -Konfiguration wird die Bean über <bean> </bean> definiert, und der Name der Bean wird durch das Attribut ID oder Name definiert. Wenn die ID- und Namensattribute nicht angegeben sind, verwendet Spring automatisch den voll qualifizierten Klassennamen als Name der Bean. Einlegen Sie den Wert durch das dynamische Attribut des untergeordneten Elements <Spertage> oder des P -Namespace in die Bean. Sie können auch den Methodennamen der Bean-Implementierungsklasse über die Init-Methoden- und Destory-Method-Eigenschaften von <Bohnen> angeben, um die Lebensprozessmethode festzulegen (geben Sie höchstens eine Initialisierungsmethode und eine Zerstörungsmethode an). Geben Sie den Umfang der Bohne durch den Umfang von <Bean> an. Ich habe gehört, dass das faul-Init-Attribut von <Bean> angibt, ob die Initialisierung verzögert werden soll.
Wenn die Implementierungsklasse der Bean von Bibliotheken von Drittanbietern wie DataSource, Hibernatetemplate usw. stammt. und die Konfiguration von Namespaces wie AOP, Kontext usw. kann nur XML-basierte Konfiguration verwenden.
2. Annotationsbasierte Konfiguration
@Scope ("prototyp") @lazy (true) @Component ("loginuserdao") public class loginuserdao {... // wird verwendet, um die Initialisierungsmethode @PostConstruct public void myInit () {} // verwendet, um die Zerstörungsmethode @Predestroy public void mydestroy () {{{}}}}}}}}}}}}}}} festzustellen.In der Bean -Implementierungsklasse werden einige Anmerkungen verwendet, um die Bean -Klasse zu kommentieren:
・ @Component: Annotate eine normale Springbean -Klasse (der Bean -Name kann angegeben werden, und der Standard ist der Klassenname, der mit Kleinbuchstaben beginnt, wenn sie nicht angegeben sind).
・ @Controller: Annotate eine Controller -Klasse
・ @Service: Annotieren Sie eine Geschäftslogikklasse
・ @Repository: Annotate eine DAO -Klasse
Durch Kennzeichnung @autowired durch Typ -Matching -Injektion bei Mitgliedervariablen oder Methodenparametern können Sie auch @Qualifier verwenden, um die Injektion mit Namen zu konfigurieren. Die Initialisierungsmethode und Zerstörungsmethode, die durch Annotation der @Postconstrus- und prädestroy -Annotation angegeben ist (wie viele definiert werden können). Geben Sie den Umfang der Aktion der Bean über @Scope ("Prototyp") an. Geben Sie das faule Laden der Bean an, indem Sie bei der Klassendefinition @Lazy (true) kennzeichnen.
Wenn die Implementierungsklasse der Bean vom aktuellen Projekt entwickelt wird, können Sie in der Java-Klasse direkt eine annotationsbasierte Konfiguration verwenden, und die Konfiguration ist relativ einfach.
3. Java-basierte Konfiguration
@Configuration Public Class Conf {@Scope ("Prototyp") @Bean ("LoginUserDao") public LoginUserdao loginUserdao () {return New LoginUserDao (); }}Definieren Sie in der Java -Klasse, die @Configuration gekennzeichnet ist, eine Bean, indem Sie @Bean in der Klassenmethode annotieren. Methoden müssen eine Instanziierungslogik für Bohnen liefern. Der Name der Bean kann über das Attribut @Bean Name definiert werden. Der Standardname ist der Methodenname, wenn er nicht angegeben ist. Verwenden Sie bei der Methode @autowired, um die Methode an den Parameter zu binden und dann durch Code in die Methode zu injizieren. Sie können auch die @Bean -Methode der Konfigurationsklasse zur Injektion aufrufen. Geben Sie eine Initialisierung an oder zerstören Sie die Methode durch @bean initMethod oder DestroyMethod. Der Wirkungsumfang der Bean wird durch die Definition der Bean -Methode angegeben. Geben Sie die Verzögerungsinitialisierung der Bean an, indem Sie bei der Bean -Methode -Definition @lazy kennzeichnen.
Wenn die Logik der Instanziierung einer Bohne komplizierter ist, eignet sie sich besser für die Konfiguration der Java -Klasse.
Zusammenfassen
Das obige ist der gesamte Inhalt in diesem Artikel zu den drei Bean -Konfigurationsmethoden in Spring 3.x. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!