在拥有FactoryBean的bean上仍然需要@Component注释吗?

时间:2017-03-26 21:57:53

标签: spring spring-boot

假设我有

public class MyBean

@Component
public class MyBeanFactory implements FactoryBean<MyBean>

我想使用@Autowired注释注入MyBean。在这种情况下,我是否仍需要使用@Component注释MyBean?我想我应该可以,但如果我这样做,spring似乎没有使用MyBeanFactory来创建bean。如果我不这样做,我可以得到工厂创建的bean。

1 个答案:

答案 0 :(得分:0)

您的工厂bean用于根据您在工厂bean实现中放置的任何代码创建实例化的MyBean类型的bean。

将@Component放在MyBean上只会创建一个新的MyBean实例,然后从该实例创建一个bean。

如果您使用工厂bean创建MyBean,则无需将@Component放在MyBean上。

你到底想要实现什么目标?