【问题标题】:Use of PropertySourcesPlaceholderConfigurer?使用 PropertySourcesPlaceholderConfigurer?
【发布时间】:2020-01-21 14:37:08
【问题描述】:

我开始学习 Spring 注解。我目前在我的配置类中使用@PropertySource 注释来解析属性值并且一切正常,但后来我读到了PropertySourcesPlaceholderConfigurer

什么时候或为什么我应该使用它?

【问题讨论】:

    标签: java spring spring-boot spring-mvc properties


    【解决方案1】:

    来自@PropertySourcejavadoc

    ...
    但是请注意,显式注册 通过静态 @Bean 的 PropertySourcesPlaceholderConfigurer 方法通常仅在您需要自定义配置时才需要,例如
    占位符语法等。请参阅
    的“使用外部值”部分 配置 @Configuration 的 javadocs 和“关于 BeanFactoryPostProcessor-返回Bean@Bean的@Bean方法 详细信息和示例的 javadocs。
    具体来说,如果没有 bean 后处理器(例如 PropertySourcesPlaceholderConfigurer)为 ApplicationContext 注册嵌入值解析器,Spring 将注册一个默认嵌入值解析器,该解析器根据环境中注册的属性源解析占位符。
    ...

    好吧,如果您需要设置或获得对属性配置 bean 的更多控制权,例如 PropertySourcesPlaceholderConfigurer您可以定义它。否则可以省略。
    但如果您使用 Spring 4.3.0 之前的版本,则必须声明此 bean 以解析 @Value。

    了解更多详情:
    6.Configuration using Raw Beans in Spring 3.0 – the PropertyPlaceholderConfigurer
    javadoc @PropertySource

    希望对你有所帮助)

    【讨论】:

      猜你喜欢
      • 2016-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-07
      • 2015-01-13
      相关资源
      最近更新 更多