4.1读取配置文件
4.1.1 读取核心配置文件
/**
*
* <p>Title: SpringBootTest</p>
* <p>Description: 读取配置文件</p>
*/
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes=ApplicationRunner.class)
public class ConfigFileTest {
@Resource
private Environment env;
/**
* 读取核心配置文件
*/
@Test
public void test1() {
System.out.println(env.getProperty("spring.datasource.username"));
System.out.println(env.getProperty("spring.datasource.password"));
}
}
4.1.2 读取自定义文件
在工程的 src/main/resources 下构建自定义配置文件 mail.properties, 内容如下:
mail.host=smtp.sina.com
mail.port=25
mail.username=wsw
mail.password=wsw123
配置类:
/**
*
* <p>Title: MailProperties</p>
* <p>Description: </p>
*/
@Configuration
@PropertySource(value="classpath:mail.properties")
@ConfigurationProperties(prefix="mail",ignoreUnknownFields = false)
public class MailProperties {
private String host;//smtp.sina.com
private String port;//=25
private String username;//=itcast
private String password;//=heima
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 getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "MailProperties [host=" + host + ", port=" + port + ", username=" +
username + ", password=" + password
+ "]";
}
}
读取配置信息:
/**
*
* <p>Title: SpringBootTest</p>
* <p>Description: 读取配置文件</p>
*/
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes=ApplicationRunner.class)
public class ConfigFileTest {
@Autowired
private MailProperties mailProperties;
/**
* 读取自定义配置文件
*/
@Test
public void test2() {
System.out.println(mailProperties);
}
}
4.1.3 读取 yml 文件
YML 文件格式是 YAML (YAML Aint Markup Language)编写的文件格式, YAML 是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持 YAML 库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP 等。 YML 文件是以数据为核心的,比传统的 xml 方式更加简洁。
YML 文件的扩展名可以使用.yml 或者.yaml。
在 maven 工程中 yml 文件创建的位置是:
4.1.3.1 语法格式:
普通数据:
key: value
在 key 和 value 中必须有一个空格
对象数据:
mail:
host: smtp.sina.com
port: 25
username: wsw
password: wsw123
4.1.3.2 获取方式
yml 文件为:
第一种:使用@Value 注解配合 Spring 的 EL 表达式
@Value("${mail.host}")
private String mailHost;
第二种方式:使用@ConfigurationProperties 注解
/**
*
* <p>Title: Mailyml</p>
* <p>Description: </p>
*/
@Configuration
@ConfigurationProperties(prefix="mail")
public class Mailyml implements Serializable {
private String host;
private String port;
private String username;
private String password;
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 getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "Mailyml [host=" + host + ", port=" + port + ", username=" + username
+ ", password=" + password + "]";
}
}
测试代码:
/**
* 读取自定义配置文件
*/
@Test
public void test3() {
System.out.println(mailYml);
System.out.println(mailHost);
}
运行结果: