在Spring.config中,我可以定义string类型的对象吗?
-
03-07-2019 - |
题
我可以这样做:
<object id="mydb" type="string">
<value>"blah"</value> <-- note that <value> tag does not really exist
</object>
所以我可以稍后使用它:
<object id="Someobject" type="Sometype">
<property name="ConnectionString" ref="mydb"/>
</object>
编辑:这是我正在寻找的SpringFramework.NET解决方案。看起来PropertyPlaceholderConfigurer也存在。谢谢大家。 解决方案
使用Spring的内置 PropertyPlaceholdConfigurer :
<bean id="PropertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
<property name="location" value="classpath*:/application.properties"/>
</bean>
<bean id="Someobject" class="somepackage.Sometype">
<property name="connectionString" value="${mydb}"/>
</bean>
设置 SYSTEM_PROPERTIES_MODE_OVERRIDE
允许通过命令行覆盖属性。
其他提示
使用占位符,例如 $ {magic} ,并在属性文件中定义键/值以及PostProcessor。 Google for spring post processor placeholder ...
我认为你根本没有任何优势。这一切仍然只是配置。
有时人们会将数据库连接字符串外部化为.properties文件并以这种方式获取它们。我认为这比你的建议更有意义。
不隶属于 StackOverflow