[英]Not able to @Autowired bean in Enum factory
我开发了基于枚举的工厂,它通过实现enum
抽象方法来提供各种类型的对象。
Shape
是一个接口,我们可以通过它对正方形、矩形等形状进行不同的实现。
形状.java
@Component
interface Shape{
public void area();
}
方形.java
@Component
class Square implements Shape{
@Override
public void area(){
}
}
ShapeFactory.java
@Component
public enum ShapeFactory {
SQUARE{
@Override
public Shape createShapeObject() {
return square;
}
};
@Autowired
public Shape square;
public abstract Shape createShapeObject();
}
但是@Autowired
不会初始化square
object,它仍然是 null。
有没有办法在 java enum
中使用@Autowired
注释来初始化square
object ?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.