您的位置:首页技术文章
文章详情页

SpringBoot 使用 @Value 注解读取配置文件给静态变量赋值

【字号: 日期:2023-04-09 18:03:16浏览:2作者:猪猪

1、application.properties 配置文件

mail.username=xue@163.commail.password=xuemail.host=smtp.163.commail.smtp.auth=true

2、给普通变量赋值,直接在变量上添加 @Value 注解

import org.springframework.beans.factory.annotation.Value;public class MailConfig { @Value('${mail.username}') private String username; @Value('${mail.password}') private String password; @Value('${mail.host}') private String host;}

3、给静态变量赋值,直接在静态变量上添加 @Value 注解无效

SpringBoot 使用 @Value 注解读取配置文件给静态变量赋值

4、给静态变量赋值

1、使用 set 方法

import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;@Componentpublic class MailConfig { public static String username; public static String password; public static String host; @Value('${mail.username}') public void setUsername(String username) { this.username = username; } @Value('${mail.password}') public void setPassword(String password) { this.password = password; } @Value('${mail.host}') public void setHost(String host) { this.host = host; }}

2、使用 @PostConstruct(推荐使用)

import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;import javax.annotation.PostConstruct;@Componentpublic class MailConfig { public static String USERNAME; public static String PASSWORD; public static String HOST; @Value('${mail.username}') private String username; @Value('${mail.password}') private String password; @Value('${mail.host}') private String host; @PostConstruct public void init() { USERNAME = username; PASSWORD = password; HOST = host; }}

到此这篇关于SpringBoot 使用 @Value 注解读取配置文件给静态变量赋值的文章就介绍到这了,更多相关SpringBoot @Value 静态变量赋值内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!

标签: Spring
相关文章: