1、该 @PropertySource 注解提供便利和声明的机制添加 PropertySource 到Spring的 Environment 。
2、给定一个名为 app.properties 包含键值对的文件 testbean.name=myTestBean 。
3、以下@Configuration 类使用以下 @PropertySource 方式调用 testBean.getName() returnmyTestBean :
4、${…} 存在于 @PropertySource 资源位置的任何占位符都将针对已针对环境注册的属性源集进行解析,如以下示例所示:
5、假设它 my.placeholder 已存在于已注册的其中一个属性源中(例如,系统属性或环境变量),则占位符将解析为相应的值。
6、如果没有,则 default/path 用作默认值。如果未指定默认值且无法解析属性, IllegalArgumentException 则抛出。
7、根据Java8约定,该 @PropertySource 注释是可重复的。但是,所有这些@PropertySource 注释都需要在同一级别声明,可以直接在配置类上声明,也可以在同一自定义注释中作为元注释声明。
8、不建议混合直接注释和元注释,因为直接注释有效地覆盖了元注释。