springboot抽象工厂模式
时间: 2023-11-27 13:48:09 浏览: 79
在Spring Boot开发中,抽象工厂模式可以通过使用@Autowired和@Qualifier注解来实现。具体实现步骤如下:
1.定义一个抽象工厂接口,该接口定义了一组创建对象的方法。
```java
public interface AbstractFactory {
public ProductA createProductA();
public ProductB createProductB();
}
```
2.定义具体工厂类,实现抽象工厂接口,并实现其中的方法。
```java
@Component
public class ConcreteFactory implements AbstractFactory {
@Autowired
@Qualifier("productA1")
private ProductA productA;
@Autowired
@Qualifier("productB1")
private ProductB productB;
@Override
public ProductA createProductA() {
return productA;
}
@Override
public ProductB createProductB() {
return productB;
}
}
```
3.定义抽象产品类和具体产品类,具体产品类实现抽象产品类中定义的方法。
```java
public interface ProductA {
public void methodA();
}
@Component("productA1")
public class ConcreteProductA1 implements ProductA {
@Override
public void methodA() {
System.out.println("ConcreteProductA1 methodA");
}
}
public interface ProductB {
public void methodB();
}
@Component("productB1")
public class ConcreteProductB1 implements ProductB {
@Override
public void methodB() {
System.out.println("ConcreteProductB1 methodB");
}
}
```
4.在需要使用工厂创建对象的地方,使用@Autowired注解注入具体工厂类,并调用其中的方法创建对象。
```java
@Component
public class Client {
@Autowired
private AbstractFactory factory;
public void useProduct() {
ProductA productA = factory.createProductA();
ProductB productB = factory.createProductB();
productA.methodA();
productB.methodB();
}
}
```
阅读全文