SpringBoot讀取配置資料的幾種方式
SpringBoot讀取配置資料的幾種方式
方式一: 我們通過@Value("${spring.datasource.url}")
這樣的方式讀取PropertyPlaceholderConfigurer.properties配置資料集合,本種方式是可以適應各種應用場景,推薦使用本方式讀取配置檔案
@Component
public class DbConfig {
@Value("${spring.datasource.database}")
private String database;
@Value("${spring.datasource.url}")
private String url;
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
@Value("${spring.datasource.driverClassName}")
private String driverClassName;
public String getDatabase() {
return database;
}
public void setDatabase(String database) {
this.database = database;
}
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;
}
public String getDriverClassName() {
return driverClassName;
}
public void setDriverClassName(String driverClassName) {
this.driverClassName = driverClassName;
}
}
方式二:這種寫法系統會依據prefix字首自動注入配置資料到資料實體變數,這種方式不錯,但是存在缺陷,我們編寫的PropertyPlaceholderConfigurer擴充套件欄位會無效,所以如果只是單純的讀取配置而不需要額外操作時可使用這方式最簡單
@Component
@ConfigurationProperties(prefix = "spring.datasource")
public class DbConfig {
private String database;
private String url;
private String username;
private String password;
private String driverClassName;
public String getDatabase() {
return database;
}
public void setDatabase(String database) {
this.database = database;
}
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;
}
public String getDriverClassName() {
return driverClassName;
}
public void setDriverClassName(String driverClassName) {
this.driverClassName = driverClassName;
}
}
方式三: 我們可以直接注入Environment物件示例並讀取properties物件屬性,與方式一的本質差不多,我們不需要編寫對應欄位的模型物件,但是對於程式可閱讀性不好友,複用率不高
@Component
public class DbConfig {
@Autowired
private Environment environment;
public String getDatabase() {
return environment.getProperty("spring.datasource.database");
}
}
方式四: 通過系統啟動時候初始化Listener,使用PropertiesLoaderUtils工具類讀取指定配置檔案並獲得Properties配置物件,我們可以隨時隨地使用該物件的屬性,這種方式比較少用,針對比較自定義的配置資料可使用該方式
public class PropertiesListener implements ApplicationListener<ApplicationStartedEvent> {
@Override
public void onApplicationEvent(ApplicationStartedEvent event) {
try {
Properties properties = PropertiesLoaderUtils.loadAllProperties("classpath:application.properties");
System.out.println(properties);
} catch (IOException e) {
e.printStackTrace();
}
}
}
針對以上四種配置資料載入方式的比較與實際應用,我們在生產中最為常用的是第一種方式,但是最終怎麼選用可根據你的實際專案配置載入方式而定
相關文章
- 多種方式讀取 MySQL 資料庫配置MySql資料庫
- Spring Boot讀取配置檔案的幾種方式Spring Boot
- 【JavaEE】讀取配置檔案路徑的幾種方式Java
- php讀取檔案的幾種方式PHP
- spring-boot-route(二)讀取配置檔案的幾種方式Springboot
- AngularJS中獲取資料來源的幾種方式AngularJS
- 直播系統原始碼,MAP的幾種取資料的方式原始碼
- Spark Streaming讀取Kafka資料兩種方式SparkKafka
- Express 提交資料的幾種方式Express
- Spring Boot 讀取配置內容的三種方式Spring Boot
- 遍歷資料夾的幾種方式
- Spring Boot 入門系列(二十五)讀取配置檔案的幾種方式詳解!Spring Boot
- MySql資料庫備份的幾種方式MySql資料庫
- 資料庫SQL調優的幾種方式資料庫SQL
- mybatis連線資料庫的幾種方式MyBatis資料庫
- 做微博大資料廣告的幾種方式大資料
- javascript獲取url地址的幾種方式JavaScript
- Hadoop-寫入資料的幾種方式Hadoop
- PG獲取檔案大小的幾種方式
- springboot讀取配置檔案Spring Boot
- 資料庫訪問幾種方式對比資料庫
- MySQL 資料庫定時備份的幾種方式MySql資料庫
- Greenplum,PostgreSQL資料實時訂閱的幾種方式SQL
- flask返回資料的幾種方式(字串,json,元祖)Flask字串JSON
- iOS應用資料儲存的幾種常用方式iOS
- XML資料讀取方式效能比較XML
- Spring - 獲取ApplicationContext的幾種方式SpringAPPContext
- 獲取或操作DOM元素特性的幾種方式
- 雲端TensorFlow讀取資料IO的高效方式
- Spring連線資料庫的幾種常用的方式Spring資料庫
- Springboot呼叫Oracle儲存過程的幾種方式Spring BootOracle儲存過程
- spring- properties 讀取的五種方式Spring
- Python讀取YAML配置資料PythonYAML
- 淺析SpringBoot載入配置的6種方式Spring Boot
- SpringBoot 複雜配置資訊讀取Spring Boot
- 4.SpringBoot中採用什麼方式進行配置專案檔案?SpringBoot如何讀取配置檔案中連線資料庫的資料?嘻哈的簡寫筆記——SpringBootSpring Boot資料庫筆記
- Android回顧--(十二) 資料儲存的幾種方式Android
- MYSQL資料匯出備份、匯入的幾種方式MySql