1 步骤
1 写yaml
2 创建类,用于封装yaml数据,由spring来管控
java类里的属性和yaml的属性保持一致
类上加注解:@Component
类上加注解:@ConfigurationProperties("第一层的属性名")
3 从spring中获取信息使用
2 代码
yaml
datasource:
driver: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost/springboot_db
username: root
password: 123456
bean
package com.qing;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "datasource")
public class MyDataSource {
//注意属性名要和yaml文件的属性名一致
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 "MyDataSource{" +
"driver='" + driver + '\'' +
", url='" + url + '\'' +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
controller
package com.qing.controller;
import com.qing.MyDataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/books2")
public class BookController2 {
@Autowired
private MyDataSource myDataSource;
@GetMapping
public String getById() {
System.out.println("myDataSource:"+myDataSource);
return "rest:SpringBoot is running:config2";
}
}
结果