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方式更為簡潔易用。
相關文章
- java Spring讀取properties檔案的注意點JavaSpring
- .NET Core 6.0之讀取配置檔案
- python檔案讀取 readlines()方法之坑Python
- Spring boot 讀取properties檔案的四種方式Spring Boot
- Spring Boot讀取配置檔案的幾種方式Spring Boot
- Jmeter之讀取csv檔案踩坑記JMeter
- Python實用方法之讀取本地檔案Python
- 任意檔案讀取
- Java 讀取檔案Java
- .NET Core基礎篇之:配置檔案讀取
- Spring Boot啟動後讀取jar包內部檔案Spring BootJAR
- Pandas之EXCEL資料讀取/儲存/檔案分割/檔案合併Excel
- [轉]Spring Boot讀取配置檔案常用方式[強烈建議閱讀]Spring Boot
- go配置檔案讀取Go
- python讀取大檔案Python
- springboot讀取配置檔案Spring Boot
- 用友任意檔案讀取
- viper 讀取配置檔案
- matlab讀取npy檔案Matlab
- python小白檔案讀取Python
- cocos讀取plist檔案
- python 讀取文字檔案Python
- IOC - 讀取配置檔案
- 前端讀取excel檔案前端Excel
- Python基礎知識之檔案的讀取操作Python
- go學習之檔案讀取問題(需更新)Go
- spring-boot-route(二)讀取配置檔案的幾種方式Springboot
- 讀取檔案流並寫入檔案流
- Springboot整合MongoDB儲存檔案、讀取檔案Spring BootMongoDB
- java中讀取配置檔案Java
- go–讀取檔案的方式Go
- C#讀取Xml檔案C#XML
- pg從磁碟讀取檔案
- 01 讀取模板HTML檔案HTML
- go 讀取.ini配置檔案Go
- 6.1檔案下載、讀取
- 讀取資料夾檔案
- Mysql溯源-任意檔案讀取?MySql