springboot也有自己的配置文件,基于一种凸显数据的简洁风格,书写的规范也很经典,使用空格缩进而不是使用tab缩进,下面来看代码:
application.yml:
#类似集合map类型的键值对(我们用来测试用实体封装这个集合)
datasource:
driver: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test
username: root
password: 123456
#类似于数组类型,从0开始的索引(我们用来测试引用这个数据里的数据)
user:
-
name: huang
age: 20
-
name: zhang
age: 21
#设置端口号
server:
port: 8080
#设置变量
name: huanglinchun
看一下在测试里引用变量与封装变量的代码:
@RestController
public class hellocontroller {
//boot获取指定集合型变量值的方法
@Value("${datasource.driver}")
private String driver;
// boot获取指定数组型变量的方法
@Value("${user[0].name}")
private String name;
//boot用这个对象来封装 所有 yml配置文件中定义的变量
@Autowired
private Environment environment;
//boot在yml文件指定封装对象的值,这个对象的代码在下一个代码栏
@Autowired
private mydatasourse mydatasourse;
@RequestMapping("/hello")
@ResponseBody
public String hello(){
return "hello/"+driver+"/"+name+"/"
+ environment.getProperty("server.port")+"/"
+mydatasourse.toString();
}
}
mydatasource.java代码(用于关于数据库的变量封装测试)
@Component
@ConfigurationProperties(prefix = "datasource")
public class mydatasourse {
private String driver;
private String url;
private String username;
private String password;
public String getDriver() {
return driver;
}
public void setDriver(String driver) {
this.driver = driver;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
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 "mydatasourse{" +
"driver='" + driver + '\'' +
", url='" + url + '\'' +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
看完整体之后相信对于yml文件的书写规范有了一些认识,我们需要注意的是boot里也有很多spring的东西,之前说过在注释上会体现,我们不难发现,boot大部分就是相当于纯注解开发了。