Метод завода для экземпляра Spring и метод статического завода могут использоваться для экземпляра бобов. В этой статье мы рассмотрим связанные примеры.
Статический фабричный метод: непосредственные вызова статических методов могут вернуть экземпляр боба
пакет com.zhu.string.factory; импортировать java.util.hashmap; импортировать java.util.map; открытый класс staticcarfactory { / *** Статический фабричный метод: непосредственно вызовите статический метод, чтобы вернуть экземпляр боба** / частная статическая карта <строка, car> cars = new hashmap <string, car> (); static {cars.put ("audi", новый автомобиль (3000, "aodi")); cars.put ("fodo", новый автомобиль (3000, "aodi")); } // Статический фабричный метод public Static Car getCar (String name) {return cars.get (name); }}Пример заводского метода. То есть вызовите саму фабрику, а затем вызовите метод экземпляра фабрики, чтобы вернуть экземпляр Bean
пакет com.zhu.string.factory; импортировать java.util.hashmap; импортировать java.util.map; открытый класс InstanceCarFactory { /*** Метод завода экземпляра. То есть вызовите саму завод, а затем вызовите метод экземпляра фабрики, чтобы вернуть экземпляр Bean*/ Private Map <String, car> cars = null; public instancecarfactory () {// todo Автогенерированный конструктор Cars = new Hashmap <String, car> (); cars.put ("audi", новый автомобиль (1000, "audi")); cars.put ("dffdas", новый автомобиль (2000, "Audi")); } public Car getCar (String Brand) {return cars.get (brand); }}Бобы-factory.xml
<span style = "font-size: 14px;"> <? xml version = "1.0" Encoding = "UTF-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = " xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- Configure Бобы с помощью статических методов. Обратите внимание, что это не настраивает экземпляры статического заводского метода, а настройка экземпляров бобов-> <!-Атрибут класса: указывая на полное имя класса статического метода фабрики: указывая на имя статического конструктора-арга: если заводский метод должен пройти в параметрах, используйте конструктор-arg, чтобы конфигурировать параметры-> <Bean Id ID "wartOd-meth-meth-method-method-method-method-method-method-arg <constructor-arg value = "audi"> </constructor-arg> </bean> <!-Настройка заводского экземпляра-> <bean id = "carfactory"> </bean> <bean id = "car2" factory-bean = "carfactory" construction method = "getcar"> <constructor-arg = "audi"> </constructor-method = "getCar" </beans> </span>
Car.java Entity Class
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=" + brand + ", price =" + price + "]";} public car () {system.out.println ("cars..constructor");} public Car (двойная цена, строковый бренд) {super (); this.price = price; this.brand = brand;}}}}}}}}}}}}}}}}}}Main.java
пакет com.zhu.string.factory; import org.springframework.context.applicationContext; Import org.springframework.context.support.classpathxmlapplicationContext; public class main {/** * @param args */public void main (string) args) {/** @param args */public void main (string) (// * ClassPathxMlapplicationContext ("Beans-Factory.xml"); Car Car1 = (car) cx.getbean ("car1"); system.out.println (car1); car car2 = (car) cx.getbean ("car2"); system.out.println (car2);}} Результаты работы:
Автомобиль [бренд = Aodi, цена = 3000,0]
Автомобиль [бренд = Audi, цена = 1000,0]
Суммировать
Выше приведено все содержание этой статьи о примере заводского метода Spring и примере статического метода фабрики. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!