使用@Value 和@PropertySource 实现为属性赋值

633 total views, 3 views today

@Value 注解可以为属性值赋值,赋值的方式有多种。
  • 基于数值。
  • 基于 SpEL 表达式#{}。
  • 基于配置文件的。(配置文件中的值都会进入运行的环境变量中的值)
分别举例说明:

基于数值

基于数值的话,最简单。只需要把值写入@Value 注解即可:
@Value(“ 张三”)
private String userName;
基于 SpEL
基于 SpEL 表达式也很简单,只需要写 SpEL 表达式,可以参考 Spring Expression Language(SpEL)速查指南
如:
基于配置文件
第一步先指定配置文件,通过 PropertySource 注解指定路径。所谓的配置文件,就是存放键值对的 properties 文件。

配置文件放在/src/main/resources/mine.properties 这个路径下:


注意:所谓的配置参数的值,都是在环境变量中,可以从环境变量中读取到该值。


输出如下:


因此,除了注入 property 文件中设置的值,还可以注入环境变量中的值。

比如:

这个${user.name} 注入的是环境变量中的值

静态变量注入值

配置文件中

Main 方法

输出:

原因在于,Spring 不允许将值直接注入给静态变量 ,只能使用变通的方法:

输出:

 

 

原创文章,转载请注明出处!http://www.javathings.top/使用value和propertysource实现为属性赋值/

About: wusq


发表评论

电子邮件地址不会被公开。 必填项已用*标注