一、application.properties
在项目的resource下的application.properties文件是spring-boot默认的配置文件,里面存放了一些通用配置
如图所示,可以重新赋值予以覆盖。
如果添加一些自己的配置,可以直接添加在application.properties中,如下所示
### mail setting ###
# 设置邮箱主机
email.host=smtp.163.com
email.port=25
# 设置用户名
email.from=xxxxx@xx.com
# 设置密码
email.frompassword=xxxxxx
# 设置是否需要认证,如果为true,那么用户名和密码就必须的,
# 如果设置false,可以不设置用户名和密码,当然也得看你的对接的平台是否支持无密码进行访问的。
email.smtpauth=false
然后可以通过如下方式获取
@Autowired
private Enviroment env;
public void testProp() {
System.out.println(env.getProperty("email.form");
}
二、自定义配置读取
还有另一种读取application.properties中自定义属性的配置
package com.properties;
import org.springframework.boot.context.properties.ConfigurationProperties;
@ConfigurationProperties(prefix = "email")
public class EmailProp {
private String host;
private String port;
private String from;
private String frompassword;
private String smtpauth;
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public String getPort() {
return port;
}
public void setPort(String port) {
this.port = port;
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getFrompassword() {
return frompassword;
}
public void setFrompassword(String frompassword) {
this.frompassword = frompassword;
}
public String getSmtpauth() {
return smtpauth;
}
public void setSmtpauth(String smtpauth) {
this.smtpauth = smtpauth;
}
}
使用的时候如下所示
@Autowired
private EmailProp emailProp;
三、其它位置的自定义配置读取
和上面的代码基本一致,只是注解ConfigurationProperties中需要增加指定读取配置文件的属性,
在resource下增加config目录,创建email.properties文件,如图所示
代码如下所示
package com.properties;
import org.springframework.boot.context.properties.ConfigurationProperties;
@ConfigurationProperties(prefix = "email", locations = {"classpath:config/email.properties"})
public class EmailProp {
private String host;
private String port;
private String from;
private String frompassword;
private String smtpauth;
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public String getPort() {
return port;
}
public void setPort(String port) {
this.port = port;
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getFrompassword() {
return frompassword;
}
public void setFrompassword(String frompassword) {
this.frompassword = frompassword;
}
public String getSmtpauth() {
return smtpauth;
}
public void setSmtpauth(String smtpauth) {
this.smtpauth = smtpauth;
}
}
四、注意事项
在使用的过程中,记得在启动类上增加如下注释