乐趣区

关于springboot: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;}
}

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;
    }
}
退出移动版