1、使用springBoot中自带的属性文件application.properties
datasource.driverName=com.mysql.jdbc.Driver
datasource.url=jdbc:mysql://localhost:3306/test
datasource.password=root
datasource.username=root
创建一个数据源的类
package com.spring.boot.chapter3.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
public class DataBaseProperties {
@Value("${datasource.driverName}")
private String driverName = null;
@Value("${datasource.url}")
private String url = null;
private String username = null;
private String password = null ;
public String getDriverName() {
return driverName;
}
public void setDriverName(String driverName) {
System.out.println(driverName);
this.driverName = driverName;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
System.out.println(url);
this.url = url;
}
public String getUsername() {
return username;
}
@Value("${datasource.username}")
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
@Value("${datasource.password}")
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "DataBaseProperties [driverName=" + driverName + ", url=" + url + ", username=" + username
+ ", password=" + password + "]";
}
}
在控制器中获取该数据源的值
public class indexController {
@Autowired
private com.spring.boot.chapter3.config.DataBaseProperties dataBaseProperties;
@RequestMapping(value="/index")
public String indexCon() {
System.out.println(dataBaseProperties.getDriverName());
return "index";
}
}
2、自定义属性文件,jdbc.properties,获取属性文件中值的方式不一样,同时在数据源类上需要加注解
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
**@ConfigurationProperties("datasource")
@PropertySource(value="classpath:jdbc.properties")**
public class DataBaseProperties {
private String driverName;
private String url = null;
private String username = null;
private String password = null ;
public String getDriverName() {
return driverName;
}
public void setDriverName(String driverName) {
System.out.println(driverName);
this.driverName = driverName;
}
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 "DataBaseProperties [driverName=" + driverName + ", url=" + url + ", username=" + username
+ ", password=" + password + "]";
}
}
@ConfigurationProperties(“datasource”) ,由该值和类中属性名称合并获取对应属性文件的值
@PropertySource(value=“classpath:jdbc.properties”),指明属性文件的位置