Java 在@Component中自动连接@Bean
我可以在xml中实现以下目标:Java 在@Component中自动连接@Bean,java,spring,autowired,Java,Spring,Autowired,我可以在xml中实现以下目标: <bean id="bean1" class="com.test.Class1"/> <bean id="bean2" class="com.test.Class2"> <property name="bean1" ref="bean1"/> <bean/> 但是,我不确定这是否正确 最好知道如何在@Component中实现它。用@Configuration替换@Component,并确保通过组件扫描拾取
<bean id="bean1" class="com.test.Class1"/>
<bean id="bean2" class="com.test.Class2">
<property name="bean1" ref="bean1"/>
<bean/>
但是,我不确定这是否正确
最好知道如何在@Component中实现它。用
@Configuration
替换@Component
,并确保通过组件扫描拾取配置类您的xml中是否有
?或者如何使用您的通用类
?一般来说,不建议在@组件
中使用@Bean
,这是@配置
的责任,尽管它可以工作。如果您有正确的环境,请考虑通过@Configuration创建我的应用程序上下文。因此,我可以将下面的bean移动到它。但是,我仍然不确定:1)这样的自动布线是否正确:“newclass2(class1());”。2) 在下面的例子中,我们应该创建class1作为bean,还是可以简单地创建class2.setBean1(newclass1());谢谢。这取决于您的组件,如果Class1
确实必须是一个bean,并且它可能可用于其他bean(通过注入),那么将其配置为@bean
。当然,否则,您可以在任何地方newclass1()。
@Component
class GeneralClass{
@Bean
public Class1 class1() {
return new Class1();
}
@Bean
public Class2 class2() {
return new Class2(class1());
}
}