最佳答案
我想知道如何用 Spring3注释实现简单的工厂模式。我在文档中看到,您可以创建调用工厂类并运行工厂方法的 bean。我想知道这是否可能只使用注释。
我有一个当前调用
MyService myService = myServiceFactory.getMyService(test);
result = myService.checkStatus();
MyService 是一个带有一个名为 checkStatus ()的方法的接口。
我的工厂班级是这样的:
@Component
public class MyServiceFactory {
public static MyService getMyService(String service) {
MyService myService;
service = service.toLowerCase();
if (service.equals("one")) {
myService = new MyServiceOne();
} else if (service.equals("two")) {
myService = new MyServiceTwo();
} else if (service.equals("three")) {
myService = new MyServiceThree();
} else {
myService = new MyServiceDefault();
}
return myService;
}
}
MyServiceOne 类如下:
@Autowired
private LocationService locationService;
public boolean checkStatus() {
//do stuff
}
当我运行此代码时,locationService 变量始终为空。我相信这是因为我自己在工厂内创建对象,自动装配并没有发生。有没有一种方法可以添加注释来使这种方法正确工作?
谢谢