我在app-context.xml
中描述属性文件,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:task="http://www.springframework.org/schema/task"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/jdbc
http://www.springframework.org/schema/jdbc/spring-jdbc.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">
<context:annotation-config></context:annotation-config>
<task:annotation-driven />
<util:properties id="properties" location="file:/opt/vortal/VortalDataProvider/config/votral.properties"></util:properties>
</beans>
在任何java文件中我都可以通过以下方式访问此文件:
@Autowired
@Qualifier("properties")
private Properties properties;
但是,当我尝试访问camel-context.xml
像:
<cxf:rsClient id="vortalEndpoint" address="${endpointUrl}"
serviceClass="pl.test.dataprovider.Processor"
skipFaultLogging="false"/>
bean vortalEndpoint
的值实际上是${endpointUrl}
- 不读取来自poperties的值。
我做错了什么?
答案 0 :(得分:3)
<util:properties>
初始化java.util.Properties
类的实例,查看Doc。这不是加载属性的正确方法,如果你在xml中这样做,你可以使用
<context:property-placeholder location="classpath:foo.properties" />
然后,您可以使用
轻松访问您的媒体资源 @Value("${whatever}")
private String myValue