在 Spring Framework 中,您如何确定哪些“属性”和其他相关值可以在 context.xml 文件中设置?比如我需要设置一个TransactionManager的隔离级别。那会是:
<property name="isolation" value="SERIALIZABLE" />
<property name="isolation_level" value="Isolation.SERIALIZABLE" />
或其他一些价值观?
每个 bean 代表一个类,您可以通过class=""
属性轻松找到它。现在您只需打开该类的 JavaDoc 或源代码并查找所有设置器(遵循setFooBar()
命名约定的方法)。您去除set
前缀并取消大写第一个字符,使其成为fooBar
. 这些是你的财产。
在您的特定情况下,您可能正在谈论PlatformTransactionManager
它以及它具有的各种实现。
将属性放入 . 属性文件是一种很好的处理方式。
首先在项目结构中定义一个属性文件。最好将 .properties 文件放在与 spring applicationContext.xml 相同的目录下。
您的属性文件可能如下所示:
isolation = "SERIALIZABLE"
isolation_level = Isolation.SERIALIZABLE
您可以通过定义一个 spring bean 来访问这个属性文件,例如:
<bean id="applicationProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:YourProperties.properties"/>
</bean>
最后,您可以在 Spring bean 中访问这些属性,例如:
<bean id="BeanName" class="YourClass">
<property name="PropertyName1" value="${isolation}"/>
<property name="PropertyName" value="${isolation_level}"/>
</bean>
还有另一种使用注解注入这些值的方法。