如何使用注释在不使用if else或switch case的情况下实现Factory模式

时间:2015-12-09 12:27:04

标签: java spring spring-mvc annotations factory-pattern

我正在学习春天.. 我已经浏览了在线资源,并使用switch case ...

实现了工厂模式

接口:

public interface Printer {
   public void print();
}

实施calsses:

public class Printer1 implements Printer {
   public void print() {
      System.out.println("Printer-1");
   }
}

public class Printer2 implements Printer {
       public void print() {
          System.out.println("Printer-2");
       }
 }

如何根据用户输入加载特定对象?

有没有办法在春天使用注释实现工厂模式?

1 个答案:

答案 0 :(得分:0)

如果您希望在每次调用相应的getter时动态初始化/填充您的类的某个成员,您可以按照here所述尝试查找方法注入。检查" 3.4.6.1查找方法注入"

因此,即使每次访问分配了查找方法的字段时,都在scope=singletone(spring bean容器的缺省值)中创建了包含动态成员的类,您将获得一个适当的对象。到查找方法中实现的业务逻辑。在您的情况下,Printer是一个接口,因此您可以在查找方法中轻松实现验证并返回经过验证的对象。

配置Main类时,为其实现Printer接口的成员分配查找方法 - 只要您需要实现&#39的bean的新实例,就会调用它。 ;打印机'

祝你好运!