在Spring XML中,我有下面的bean配置来读取一些属性文件。 然后,我使用bean serverPropertyLoader作为出厂豆创建另一个豆serverProperties类型的java.util.Properties由工厂方法。我在下一个配置中将bean serverProperties改为org.springframework.context.support.PropertySourcesPlaceholderConfigurer以允许弹簧处理属性注入。在@Configuration类中使用Spring XML配置的bean,并将该bean用作另一个bean的工厂bean
<bean name="serverPropertyLoader" class="com.xxx.utils.ServerPropertyLoader">
<constructor-arg name="propertyFiles">
<list>
<value>config.properties</value>
</list>
</constructor-arg>
</bean>
<bean id="serverProperties" factory-bean="serverPropertyLoader" factory-method="getProperties" />
<bean id="propertyPlaceholder" class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
<property name="propertiesArray">
<list>
<ref bean="serverProperties" />
<ref bean="databaseProperties" /> <!-- Another Type of Properties -->
</list>
</property>
</bean>
现在我想请使用serverPropertyLoader或serverProperties的Spring Java配置的内部,而下面创建一个bean阅读一些财产。
@Configuration
public class DataAccessConf {
@Autowired
private ServerPropertyLoader serverPropertyLoader;
@Autowired
private Properties serverProperties;
@Bean(name = "dataSource")
public javax.sql.DataSource datasource() {
// want to use serverPropertyLoader or serverProperties here
return new DataSource(...);
}
}
两个serverPropertyLoader和serverProperties为空。我如何自动装配其中的一个。 Spring版本:4.1.6.RELEASE