2015-12-09 18 views
0

在春季或其他交换机情况下,我学习春天.. 我已经通过网上资源消失,使用开关的情况下实现的工厂模式...实现工厂模式,而无需使用我怎样才能使用,如果注释

接口:

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"); 
     } 
} 

我如何可以加载基于用户输入特定的对象?

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

回答

0

如果你希望你的类的一些成员进行动态初始化\居住在每次调用相应的getter,你可以尝试查找方法注入描述here。检查“3.4.6.1查找方法注入”

因此,即使包含动态成员的类是在scope=singletone(Spring bean容器的默认值)中创建的,每次您将访问指定了查找方法的字段时,您将根据查找方法内部实现的业务逻辑获取适当的对象。在你的情况下,Printer是一个接口,所以你可以很容易地在你的查找方法中实现验证并返回一个验证对象。

当你配置你的Main类时,给它的成员分配一个查找方法来实现接口 - 当你需要一个实现了'Printer'的bean的新实例时,它将被调用。

祝你好运!