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

网友投稿 699 2022-11-13


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

1、application.properties 配置文件

mail.username=xue@163.com

mail.password=xue

mail.host=smtp.163.com

mail.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 注解无效

4、给静态变量赋值

1、使用 set 方法

import org.springframework.beans.factory.annotation.Value;

import org.springframework.stereotype.Component;

@Component

public 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;

http://}

}

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

import org.springframework.beans.factory.annotation.Value;

import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

@Component

public 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;

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python接口测试用例的简单介绍
下一篇:soap接口调用(soap接口调用方式)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~