spring中的<util:properties>等效于基于java的配置

Yve*_*las 25 java spring

基于XML的弹簧配置基于java配置的等价物

<util:properties id="mapper"  location="classpath:mapper.properties" />
Run Code Online (Sandbox Code Playgroud)

然后,能够在代码中使用此特定属性对象:

@Resource(name = "mapper")
private Properties myTranslator;
Run Code Online (Sandbox Code Playgroud)

看着文档,我看了看

@PropertySource
Run Code Online (Sandbox Code Playgroud)

注释,但在我看来,无法从Environment对象单独访问特定的属性文件.

Sot*_*lis 34

很简单,宣布一个PropertiesFactoryBean.

@Bean(name = "mapper")
public PropertiesFactoryBean mapper() {
    PropertiesFactoryBean bean = new PropertiesFactoryBean();
    bean.setLocation(new ClassPathResource("com/foo/jdbc-production.properties"));
    return bean;
}
Run Code Online (Sandbox Code Playgroud)

这里的文档中,你会注意到在他们制作之前<util:properties>,他们曾经使用过PropertiesFactoryBean这样的东西

<!-- creates a java.util.Properties instance with values loaded from the supplied location -->
<bean id="jdbcConfiguration" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
  <property name="location" value="classpath:com/foo/jdbc-production.properties"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

如上所示,将其转换为Java配置非常简单.

  • @YvesNicole不客气.我不怪你,TFM太长了. (4认同)