我有一个要求,我必须从我的项目中加载包含CQ5连接详细信息的属性文件,并将其作为bean属性提供在我的maven依赖项中添加的jar中。我的项目正在使用此jar连接到CQ,因此我应该能够将CQ连接详细信息作为bean属性提供给该项目。
现在我的项目不是基于spring的,所以我不能使用PropertyPlaceholderConfigurer
而作为Maven依赖项添加的jar是基于Spring的。
是否有其他方法可以替换以下bean属性中的值。
<bean id="slingJsonRequestor" class="com.my.project.content.requestor.SlingRequestor">
<constructor-arg name="suffix" value="json.js"></constructor-arg>
<constructor-arg name="resourceBlacklist" ref="slingBlacklistCache"></constructor-arg>
<property name="url" value="${cq-url}"></property>
<property name="urlCacId" value="${cq-url-cacid}"></property>
<property name="urlTemplate" value="${cq-url-template}"></property>
</bean>
请提供非弹簧解决方案来实现这一目标。
答案 0 :(得分:0)
是的,可以使用Maven。
您只需将属性元素和资源元素添加到pom.xml:
<properties>
<myproperty>A special value</myproperty>
</properties>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/myproperties.properties</include>
</inlcudes>
</resource>
</resources>
</build>
然后如果在myproperties.properties中遇到文本$ {myproperty},maven将用pom.xml中的属性值替换它(与Spring没有什么不同,嘿?)