【问题标题】:How do i convert the following xml based spring bean to java annotation based beans?如何将以下基于 xml 的 spring bean 转换为基于 java 注释的 bean?
【发布时间】:2017-12-11 13:39:21
【问题描述】:
<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>
我想将其转换为基于 java 注释的 bean (@Bean)。
【问题讨论】:
标签:
java
xml
spring
spring-mvc
annotations
【解决方案1】:
- 在配置类中创建方法
- 构造提及的对象并返回。
- 用
@Bean注释方法
@Bean
public com.ce.indiabringsService getindiabringsServiceBean(){
return new com.ce.indiabringsService(consumerObj,functionObj);
}
【解决方案2】:
你需要创建一个带有org.springframework.context.annotation @Configuration注解的类。
然后在方法上使用@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);
}
希望对你有所帮助。
【解决方案3】:
更多选择
@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;
}
您可以使用@Autowired 注入indiabringsService。
为了创建indiabringsService bean,spring 内部会在创建 indiabringsService bean 时自动注入消费者和函数 bean。
【解决方案4】:
@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);
}
}
然后你可以按如下方式自动装配它:
@Autowired
private com.ce.indiabringsService myIndiaBringsService;