繁体   English   中英

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

[英]<util:properties> equivalent in java based configuration for spring

基于 XML 的 spring 配置的基于 Java 的配置中的等价物是什么

<util:properties id="mapper"  location="classpath:mapper.properties" />

然后能够在如下代码中使用这个特定的属性对象:

@Resource(name = "mapper")
private Properties myTranslator;

看着文档,我看了看

@PropertySource

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

很简单,声明一个PropertiesFactoryBean

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

这里的文档中,您会注意到在他们制作<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>

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

在 Spring Boot 5+ 中,src/main/resources 下的 application.properties 是约定。 我发现如果您需要放置自己的自定义属性,例如“student.class.name”,那么 Spring 将自动在 Eclipse 中验证它并使用警告标记该条目,并提供为其创建元数据的选项。 单击它,它将在 META-INF 下创建一个 JSON 文件。 用那个。 然后你可以使用 @Value("${student.class.name}" 注释注入属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM