Spring之Property檔案讀取
配置檔案的讀取
在Spring應用中,會存在大量的配置檔案設定,這些設定需要通過一個簡便的方式被讀取到系統中,被系統讀取使用。
配置資訊定義
假定把配置資訊放入config.properties檔案裡面,其內容以鍵值對的方式出現,內容如下:
key1=val1
name=zhangsan
password=1234
在Spring應用中,將如何讀取配置資訊呢?
@PropertySource和@Value
基於@PropertySource在配置類中讀取配置資訊,基於@Value直接提取特定鍵值對。示例如下:
@Configuration
@PropertySoruce("classpath:config.properties")
public class AppConfig2 {
@Value("${key1}")
private String key1;
@Value("${name}")
private String name;
@Value("${password}")
private String password;
}
這樣就可以直接讀取配置資訊了。
基於@ImportSource和@Value
首先定義一個Spring的配置檔案,spring-bean.xml:
<beans>
<context:annotation-config/>
<context:property-placeholder location="classpath:/com/acme/jdbc.properties"/>
<!-- 在Spring配置檔案中直接建立Bean-->
<bean class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
</beans>
其中宣告瞭引入jdbc的配置檔案資訊, 並在配置檔案中直接建立了Bean.
基於ImportSource讀取配置資訊:
@Configuration
@ImportResource("classpath:spring-bean.xml")
public class AppConfig{
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
@Bean
public DataSource dataSource() {
return new DriverManagerDataSource(url,username,password);
}
}
其本質上是通過載入Spring的配置檔案資訊,然後在配置檔案中載入配置資訊,既可以直接在配置檔案中建立對應的例項。
也可以讀取出相應的配置資訊之後,在Java Config Bean中進行例項物件的建立。
總結
兩種方式。 @ImportSource是利用Spring 配置檔案中的placeholder機制來進行配置檔案的替換以及載入。相對而言,@PropertySource方式更為簡潔易用。
相關文章
- .NET Core 6.0之讀取配置檔案
- java Spring讀取properties檔案的注意點JavaSpring
- 【Spring原始碼分析】配置檔案讀取流程Spring原始碼
- Spring用程式碼來讀取properties檔案Spring
- Python之檔案讀取和寫入Python
- Jmeter之讀取csv檔案踩坑記JMeter
- Spring Boot讀取配置檔案的幾種方式Spring Boot
- Spring boot 讀取properties檔案的四種方式Spring Boot
- Java 讀取檔案Java
- tiff檔案讀取
- 任意檔案讀取
- Python實用方法之讀取本地檔案Python
- .NET Core基礎篇之:配置檔案讀取
- python讀取檔案——python讀取和儲存mat檔案Python
- Pandas之EXCEL資料讀取/儲存/檔案分割/檔案合併Excel
- viper 讀取配置檔案
- go配置檔案讀取Go
- iOS讀取.csv檔案iOS
- php 讀取超大檔案PHP
- JAVA 讀取xml檔案JavaXML
- WinForm讀取Excel檔案ORMExcel
- java讀取properties檔案Java
- 用友任意檔案讀取
- 前端讀取excel檔案前端Excel
- IOC - 讀取配置檔案
- VB讀取文字檔案的例子:逐行讀取
- Spring Boot啟動後讀取jar包內部檔案Spring BootJAR
- Spring MVC 通過 @PropertySource和@Value 來讀取配置檔案SpringMVC
- [轉]Spring Boot讀取配置檔案常用方式[強烈建議閱讀]Spring Boot
- go學習之檔案讀取問題(需更新)Go
- cocos讀取plist檔案
- go–讀取檔案的方式Go
- Mysql溯源-任意檔案讀取?MySql
- Java系列:讀取XML檔案JavaXML
- C#讀取Xml檔案C#XML
- java中讀取配置檔案Java
- matlab讀取npy檔案Matlab
- pg從磁碟讀取檔案