SpringBoot @Value 注解使用
當我想讀取 application.yml/application.properties配置文件的參數值時,接觸到了@Value注解。
部分知識參考:https://blog.csdn.net/woheniccc/article/details/79804600
1、作用
@Value注解的作用就是將 application.yml/application.properties配置文件的參數值讀取出來,賦值標注了該注解的參數。
有@Value("${}")和@Value("#{}")兩種方式。
配置文件
我的配置文件使用的是application.properties,截圖如下:

2、兩種方式
2.1、@Value("${}")
Controller如下:

輸出結果如下:

@Value("${}")的使用方式是比較簡單和普遍的,一般情況下使用它。
2.2、@Value("#{}")
@Value("#{}") 表示SpEL表達式通常用來獲取bean的屬性,或者調用bean的某個方法。當然還有可以表示常量
關於SpEL參考:http://www.zhyea.com/2019/11/27/springboot-base-04-use-spel.html
首先,我們需要創建一個bean,為某一字段添加@Value("${}")注解,並為字段添加 get()和set()方法。
User的model如下:

User實體類在spring容器中默認注冊為user, controller如下:

輸出結果如下同上,故不多貼圖。
3、注意點
在使用@Value注解時,需要在對應的class實體類上添加 @Component 注解,把實體類裝配進容器才能正常使用。
上文在使用到user實體類或controller需要添加@Component注解或@Controller注解。
