以XML格式传递属性文件,Spring

时间:2015-04-08 14:07:22

标签: xml spring properties

我想在Spring中使用XMl自动提供我的服务。 我想要自动装配的课程看起来像这样:

public class Service{
     public Service(String type,Properties property){....}    
    ....
}

我的控制器中有这个对象的实例。

@Autowired
protected Service service;

所以现在我不想在我的xml文件中实例化这个对象。这在我开始使用构造函数中的属性之前有效,所以一切都以正确的方式配置。但是现在我添加了属性Obect,我不知道如何将它们传递给构造函数。这就是它现在的样子:

<bean id="service" class="service.service">
        <constructor-arg > 
            <value>MYSQL</value>
        </constructor-arg> 
        <constructor-arg > 
            <property name="url">jdbc:....</property>
        <property name="user">myUsername</property>
            <property name="password">mypass</property>
        </constructor-arg> 
    </bean>

第一个参数有效(MYSQL),但我不知道如何在XML中创建属性Object并将其传递给我的服务。有什么帮助吗?

1 个答案:

答案 0 :(得分:3)

尝试添加util:properties并将其作为ref传递给构造函数。我没有测试过,但应该给你一个想法。

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

<bean id="service" class="service.service">
        <constructor-arg > 
            <value>MYSQL</value>
        </constructor-arg> 
        <constructor-arg ref="myproperties"/>            

    </bean>