O método de fábrica de instância da primavera e o método de fábrica estática podem ser usados para instanciar feijões. Neste artigo, examinaremos exemplos relacionados.
Método estático de fábrica: chamando diretamente os métodos estáticos pode retornar a instância do feijão
pacote com.zhu.string.factory; importar java.util.hashmap; importar java.util.map; classe pública StaticCarFactory { / *** Método de fábrica estática: chame diretamente o método estático para retornar uma instância do feijão** / mapa estático privado <string, cars> cars = new hashmap <string, car> (); estático {cars.put ("audi", carro novo (3000, "AODI")); cars.put ("Fodo", carro novo (3000, "AODI")); } // Método de fábrica estática Public Static Car Getcar (Nome da String) {return Cars.get (nome); }}Exemplo de método de fábrica. Isto é, chame a própria fábrica e depois chame o método de instância da fábrica para retornar a instância do feijão
pacote com.zhu.string.factory; importar java.util.hashmap; importar java.util.map; classe pública InstancecarFactory { /*** Método da fábrica de instância. Isto é, chame a própria fábrica e, em seguida, chame o método de instância da fábrica para retornar a instância do feijão*/ mapa privado <string, carro> cars = null; public InstanceCarFactory () {// TODO Construtor GOERATIDO AUTOMELADO CARS STUB = novo HashMap <String, Car> (); cars.put ("audi", carro novo (1000, "audi")); cars.put ("dffdas", novo carro (2000, "audi")); } public car getcar (marca de string) {return cars.get (marca); }}feijão-factory.xml
<span style = "font-size: 14px;"> <? xml versão = "1.0" coding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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 feijões através de métodos estáticos. Observe que ele não está configurando instâncias de método de fábrica estática, mas configurando instâncias de feijão-> <!-atributo de classe: apontando para o nome completo da classe do método estático-método de fábrica: apontando para o nome do método estático Construtor-Arg: o método fábrica precisar passar em parâmetros, utilizando-se "Bunded 1), que o método" usa ") use" Use Id " Factory-method = "getcar"> <construtor-arg value = "audi"> </construtor-arg> </i bean> <!-Configure a instância da fábrica-> <bean id = "carfactory"> </i bean> <bean id = "car2" fábrica-bean = "carfactory" fábrica-method = "getcar" value = "Audi"> </construtor-arg> </shean> </beans> </span>
Classe de entidade car.java
pacote com.zhu.string.Factory; public class Car {Private Double Price; marca de string privada; public duplo getPrice () {Return Price;} public void setPrice (preço duplo) {this.price = price;} public string getBrand () {Return brand;} public setbrand (string brand) {this.brand =; + ", price =" + preço + "]";} public Car () {System.out.println ("cars..constructor");} public Car (preço duplo, marca de string) {super (); this.price = price; this.brand = marca;}}Main.java
pacote com.zhu.string.factory; importar org.springframework.context.applicationContext; importar org.springframework.context.support.classpathxmlapplicationContext; public class Main {/** **param args */public static void main ([] string [] cx = new ClassPathXMLApplicationContext ("Beans- Factory.xml"); car1 = (car) cx.getBean ("car1"); system.out.println (car1); car2 = (car2) cx.getbean ("car2"); system.out.println (car2); Resultados em execução:
Carro [marca = AODI, preço = 3000.0]
Carro [marca = audi, preço = 1000.0]
Resumir
O exposto acima é o conteúdo inteiro deste artigo sobre o método de fábrica de exemplo da Spring e o código de exemplo de método de fábrica estática. Espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!