假设我有
public class MyBean
和
@Component
public class MyBeanFactory implements FactoryBean<MyBean>
我想使用@Autowired
注释注入MyBean。在这种情况下,我是否仍需要使用@Component
注释MyBean?我想我应该可以,但如果我这样做,spring似乎没有使用MyBeanFactory来创建bean。如果我不这样做,我可以得到工厂创建的bean。
答案 0 :(得分:0)
您的工厂bean用于根据您在工厂bean实现中放置的任何代码创建实例化的MyBean类型的bean。
将@Component放在MyBean上只会创建一个新的MyBean实例,然后从该实例创建一个bean。
如果您使用工厂bean创建MyBean,则无需将@Component放在MyBean上。
你到底想要实现什么目标?