用Spring注入属性?

时间:2015-04-08 12:46:21

标签: java spring properties code-injection

我正在使用Spring,我希望通过dependecy注入启动我的服务(模型)。我的服务需要一个Propertie对象,包含数据库的url,user,password,ssl,sslfactory参数。如果仍然可以使用依赖注入来完成,那我就是在想。

所以我的构造函数看起来像这样:Service(Properties propertie) 在我的控制器里面,我有一个私人现场服务:

@Autowired
private Service service;

现在我想在其中注入正确的属性。

<bean id="service" class="service.Service">
        <constructor-arg > 
            <value>?</value>
        </constructor-arg> 
    </bean>

我不知道是否可以做到,有人可以帮助我吗?提前谢谢。

2 个答案:

答案 0 :(得分:0)

试试这个:

<util:properties id="props" location="classpath:props.properties" />

然后:

 @Value("${props.foo}")
 public String foo;

它会直接向场地注入财产。 您需要使用注释配置。

或者,如果你更喜欢纯xml,那么试试这个:

<bean id="service" class="service.Service">
    <constructor-arg > 
        <value>#{props['foo']}</value>
    </constructor-arg> 
</bean>

答案 1 :(得分:0)

执行此操作的正确方法是使用PropertyPlaceholderConfigurer。