在aplicationContext.xml Spring文件中存储自定义属性
我需要为使用spring框架的web应用程序存储一些配置参数 通常我会使用configurationfile.properties文件,但我想知道是否可以将该值存储在applicationContext.xml文件中 一种解决方法是创建一个JavaBean类来存储这些值,并使用spring构建该类,如下所示:在aplicationContext.xml Spring文件中存储自定义属性,spring,properties,Spring,Properties,我需要为使用spring框架的web应用程序存储一些配置参数 通常我会使用configurationfile.properties文件,但我想知道是否可以将该值存储在applicationContext.xml文件中 一种解决方法是创建一个JavaBean类来存储这些值,并使用spring构建该类,如下所示: <bean id="configurationBean" class="mypackage.someClass"> <property name="confValue1
<bean id="configurationBean" class="mypackage.someClass">
<property name="confValue1">
<value>myValue1</value>
</property>
....
</bean>
myValue1
....
但我想知道是否有一种方法可以存储这些参数而不需要创建那个类
提前谢谢
我认为适合我的需求的最佳解决方案是使用java.util.Properties实例作为Springbean
谢谢大家。Spring内置了在应用程序上下文XML中指定属性的支持。请参阅Spring参考文档的一部分。我认为使用Spring的PropertyPlaceHolderConfigure可以获得最佳结果,它允许您将常规.properties文件中的值映射到bean上定义的属性
该示例演示了如何直接在javax.sql.DataSource实例上设置JDBC连接属性,从而消除了对中间“配置bean”的需要。这应该使用以下语法
<bean id="props" class="java.util.Properties" >
<constructor-arg>
<props>
<prop key="myKey">myValue</prop>
<prop ...>
</props>
</constructor-arg>
</bean>
我的价值
您正在利用java.util.Properties有一个复制构造函数来接受Properties对象这一事实
我这样做是为了一个HashSet,它也有一个复制构造函数(HashMaps和ArrayList也是如此),并且它工作得非常好。最好的方法是使用spring PropertyPlaceHolderConfigure
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:yourconfigurationfile.properties</value>
</list>
</property>
</bean>
谢谢你的回复。但我希望避免创建一个POJO对象来存储属性。我阅读了您提供的链接,我可以指定属性,但总是在一个定义元素中,这样就可以将bean与一个POJO类链接起来。所以您希望实际的是java.util.properties的实例吗?这就是我要搜索的。谢谢:)谢谢你的回答。您的解决方案看起来不错,但我不想创建一个单独的.properties文件,而是只将属性值存储在appContext.xml文件中,并在Java代码中访问它们。然后您希望参考提供的链接标记。它显示了如何在XML中声明java.util.Properties的实例:administrator@example.org support@example.org development@example.org@HyLian您不能将任意属性(看起来像.properties文件)放在XML文件中。您要么遵循XML结构(如上面提到的@brd6644),要么将其放在一个单独的.properties文件中,如他在post.ApplicationContext app=new ClassPathXmlApplicationContext(“app.XML”)中所述;System.out.println(app.getBean(“props”);结果是{}。你知道怎么解决这个问题吗?
<bean id="configurationBean" class="mypackage.someClass">
<property name="confValue1">
<value>${myvalue1}</value>
</property>
....
</bean>
myvalue1= value1