[英]How do i convert the following xml based spring bean to java annotation based beans?
<bean id="string.message.service" class="com.ce.indiabringsService">
<constructor-arg ref="com.ce.indiabrings.consumer" />
<constructor-arg ref="com.ce.indiabrings.value.function" />
</bean>
I want to convert this to java annotation based bean (@Bean).我想将其转换为基于 Java 注释的 bean (@Bean)。
@Bean
@Bean
注释方法@Bean
public com.ce.indiabringsService getindiabringsServiceBean(){
return new com.ce.indiabringsService(consumerObj,functionObj);
}
You need to create a class with org.springframework.context.annotation @Configuration
annotation.您需要使用
org.springframework.context.annotation @Configuration
注释创建一个类。
Then use @Bean annotation on a method and return appropriate bean object.然后在方法上使用 @Bean 注释并返回适当的 bean 对象。
@Bean
public com.ce.indiabringsService getMessageService(){
return new com.ce.indiabringsService(com.ce.indiabrings.consumer,com.ce.indiabrings.value.functioncom.ce.indiabrings.consumer);
}
Hope this helps you out.希望这可以帮助你。
One more option多一个选择
@Bean
public com.ce.indiabringsService getIndiabringsService(com.ce.indiabrings.consumer
consumerBean,com.ce.indiabrings.value.function functionBean){
indiabringsService indiabringsServiceBean =new indiabringsService();
indiabringsServiceBean.setConsumer(consumerBean);
indiabringsServiceBean.setFunction(functionBean);
return indiabringsServiceBean;
}
you can inject indiabringsService
by using @Autowired
.您可以使用
@Autowired
注入indiabringsService
。
for creating indiabringsService
bean, Internally spring will automatically inject consumer and function beans while creating indiabringsService bean.为了创建
indiabringsService
bean,在创建indiabringsService
bean时,spring内部会自动注入consumer和function bean。
@Configuration
public class MyConfigurationClass {
@Bean
public com.ce.indiabringsService getIndiaBringsService() {
return new com.ce.indiabringsService(com.ce.indiabrings.consumer,com.ce.indiabrings.value.functioncom.ce.indiabrings.consumer);
}
}
And then you can autowire it as follows:然后您可以按如下方式自动装配它:
@Autowired
private com.ce.indiabringsService myIndiaBringsService;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.