Die Instanz -Fabrikmethode und die statische Fabrikmethode von Spring können verwendet werden, um Bohnen zu instanziieren. In diesem Artikel werden wir uns mit verwandten Beispielen ansehen.
Statische Fabrikmethode: Wenn Sie direkt statische Methoden aufrufen, können Sie die Instanz der Bean zurückgeben
Paket com.zhu.string.factory; import Java.util.hashMap; import Java.util.map; öffentliche Klasse staticCarfactory { / *** Statische Fabrikmethode: Rufen Sie direkt die statische Methode an, um eine Instanz der Bean** / private statische Karte <String, Car> cars = New Hashmap <String, Car> () zurückzugeben; static {cars.put ("audi", neues Auto (3000, "aodi"); cars.put ("fodo", neues Auto (3000, "aodi"); } // statische Fabrikmethode öffentliches statisches Auto getCar (String -Name) {return cars.get (name); }}Beispiel Factory -Methode. Das heißt, rufen Sie die Fabrik selbst an und rufen Sie dann die Instanzmethode der Fabrik an, um die Bean -Instanz zurückzugeben
Paket com.zhu.string.factory; import Java.util.hashMap; import Java.util.map; öffentliche Klasse InstanceCarfactory { /*** Instance Factory -Methode. Das heißt, rufen Sie die Fabrik selbst an und rufen Sie dann die Instanzmethode der Fabrik an, um die Bean -Instanz*/ private Karte <String, Car> cars = null zurückzugeben. public InstanceCarfactory () {// Todo automatisch generierter Konstruktor Stub Cars = New HashMap <String, Car> (); cars.put ("audi", neues Auto (1000, "audi")); cars.put ("dffdas", New Car (2000, "Audi"); } public Car getCar (String Brand) {return cars.get (Marke); }}beans-factory.xml
<span style = "Schriftgröße: 14px;"> <xml Version = "1.0" coding = "utf-8"?> <beans xmlns = "http://www.spingframework.org/schema/beans" xmlns: xsi = "http://wwwwww.w.w.w.org/2001/xml- xmlns: p = "http://www.springframework.org/schema/p" xsi: Schemalocation = "http://www.springframework.org/schema/beans http://www.springFramework.org/schema/beans/Spring---BingRework.org/schema/beans/spring---Bringframe.org/schema/beans/spring---Bringrame.orge.org/schema/beans/spring---BringframeWramework Bohnen durch statische Methoden. Beachten Sie, dass keine statischen Fabrikmethodeninstanzen konfiguriert werden, sondern Bean-Instanzen-> <!-Klassenattribut: Auf den vollständigen Klassennamen der statischen Methode Factory-Methode: Auf den Namen der statischen Methode Konstruktor-Arg-Arg-Arg-ARG-ARG hinweisen, verwenden Sie die Parameter. <constructor-arg value = "audi"> </constructor-arg> </bean> <!-FACTORY-Instanz konfigurieren-> <bean id = "carbactory"> </bean> <bean id = "car2" factory-bean = "carbactory" udory-method = "GetCar"> <constructor-arg ewig = "udior-method =" </beans> </span>
Car.java Entity Klasse
package com.zhu.string.factory;public class Car {private double price;private String brand;public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}@Override public String toString() {return "Car [brand=" + Marke + ", price =" + price + "]";} public car () {System.out.println ("cars..constructor");} öffentliches Auto (Doppelpreis, String Brand) {Super (); this.price = price; this.brand = brand;}}}}}}}}Main.java
Paket com.zhu.string.factory; import org.springframework.context.applicationContext; cx = new classpathxmlApplicationContext ("Beans- factory.xml"); Car Car1 = (Car) cx.getbean ("car1"); System.out.println (car1); car car2 = (car) cx.getbean ("car2"); Auslaufergebnisse:
Auto [Brand = Aodi, Preis = 3000,0]
CAR [Brand = Audi, Preis = 1000,0]
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels über die Beispiel -Fabrikmethode von Spring und Beispiel für statische Fabrikmethode. 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!