Skip to main content
 首页 » 编程设计

如何从Spring Boot属性文件中读取信息

2022年07月19日152sxdcgaq8080

主要有三种方式从application.properties属性文件中读取信息。分别为使用@value注解,使用@ConfigurationProperties注解,以及使用Environment 对象。

使用@Value注解

创建一个Spring Boot项目,在属性文件application.properties中加入下列内容:

email.username=testUser 
email.pwd=12345 
email.retry=3 

创建java类,并在属性上增加@value注解。

@Service 
public class EmailService { 
    @Value("${email.username}") 
    private String username; 
 
    @Value("${email.pwd}") 
    private String pwd; 
 
    @Value("${email.retry}") 
    private int retry; 
 
    public void sendEmail() { 
        System.out.println("reading value from properties file using @value annotation"); 
        System.out.println("username =" + username); 
        System.out.println("pwd =" + pwd); 
        System.out.println("retry =" + retry); 
    } 
} 

使用@ConfigurationProperties注解

首先定义pojo类,每个类的属性名称和属性文件中key保持一致。因为每个key都有前缀email,所以使用@ConfigurationProperties注解。

@Component 
@Data 
@ConfigurationProperties("email") 
public class EmailConfig { 
    private String  username; 
    private String  pwd; 
    private int     retry; 
} 

使用Environment 对象

使用Environment 对象的getProperty(“Key”)的方法获取信息:

@Service 
public class EmailBiz { 
    private final Environment env; 
 
    public EmailBiz(Environment env) { 
        this.env = env; 
    } 
 
    public void sendMail(){ 
        System.out.println("values from application properties using Environment "); 
        System.out.println("username ="+ env.getProperty("email.username")); 
        System.out.println("pwd ="+ env.getProperty("email.pwd")); 
        System.out.println("retry =" + env.getProperty("email.retry")); 
    } 
} 

总结

本文介绍了三种方式获取Spring Boot的属性文件的值。


本文参考链接:https://blog.csdn.net/neweastsun/article/details/115347331