我的项目中有一个用于Web服务客户端的bean,需要注入一些配置设置 . 我们正在使用Spring 3.1 . 目前最好的想法是使用@Value注释,如下所示:
@Service
public class MyWebServiceClient {
private String endpointUrl;
@Required
@Value("${mywebserviceClient.endpointUrl}")
public void setEndpointUrl(String endpointUrl) {
this.endpointUrl = endpointUrl;
}
}
但是我真的不喜欢将属性名称硬编码到类中 . 它还有一个问题,即在同一个上下文中没有多个客户端具有不同设置(因为只有一个属性并且这是硬编码的) . 使用自动装配是否有更优雅的方法,或者我应该使用普通的旧xml配置来执行此操作?
1 回答
我会使用JavaConfig来做到这一点 .
更具体地说,我将使用JavaConfig创建
MyWebServiceClient
的多个实例,并使用正确的 endpoints 属性键使配置为@Value
'd .像这样的东西:
有了这个,你应该通过
@Bean
注释的方法的名称在ApplicationContext
中有3个MyWebServiceClient
实例 .为方便起见,这里有更多documentation to JavaConfig .