【问题标题】:Passing a properties file in XML,Spring在 XML,Spring 中传递属性文件
【发布时间】:2015-06-13 13:13:40
【问题描述】:

我想在 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 中创建属性对象并将其传递给我的服务。有帮助吗?

【问题讨论】:

    标签: xml spring properties


    【解决方案1】:

    尝试添加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>
    

    【讨论】:

    • 明天试试,谢谢你的快速回复。一旦它起作用,将选择它作为正确答案。谢谢!
    • 如果我可以问,我应该把 .properties 文件放在哪里?在WEB-INF文件夹下?因为那个文件夹不在我认为的类路径下
    • 我已经在 WEB-INF 下添加和配置文件夹,并将其添加到类路径中并将我的属性文件存储在其中。这是最佳做法吗?
    • 通常如果你使用 maven 结构,它会在 src/main/resources (或那里的文件夹)下,最终会转到 WEB-INF/classes (该文件夹下的文件夹)文件夹。如果您不使用 maven,请将其配置到 WEB-INF/classes 下,这将在类路径中。
    猜你喜欢
    • 1970-01-01
    • 2012-05-17
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多