SpringBoot--SpringBoot 讀取Properties檔案(結合JDBC)
讀取配置檔案(結合JDBC)
SpringBoot整合JDBC需要新增的啟動器和依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
自定義配置檔案
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ego?useSSL=false
jdbc.username=root
jdbc.password=root
1 透過自定義配置檔案方式,獲取資料來源
透過@PropertySource 註解讀取配置檔案,此註解為spring的註解,可以讀取任何配置檔案
/**
* @author 守鶴
* @date 2020/5/12 23:47
*/
@Configuration
@PropertySource("classpath:/jdbc.properties")
public class DataSourceConfig{
@Value("${jdbc.driverClassName}")
private String driverClassName;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
@Bean
public DataSource getDataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName(this.driverClassName);
dataSource.setUrl(this.url);
dataSource.setUsername(this.username);
dataSource.setPassword(this.password);
return dataSource;
}
}
2 透過application.properties檔案讀取配置資訊
透過 @ConfigurationProperties 註解讀取配置檔案,此註解是 SpringBoot 的註解不能讀取其他配置檔案,只能讀取 SpringBoot 的 application 配置檔案.
application.properties配置檔案
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ego?useSSL=false
jdbc.username=root
jdbc.password=root
2.1 自動生成配置資訊屬性類的物件
/**
* @author 守鶴
* @date 2020/5/13 0:06
*/
@ConfigurationProperties(prefix = "jdbc")
//prefix 字首需要和配置檔案中的字首一致
//pojo類的屬性和字首後面的名稱一致
//需要提供set方法,否則屬性值無法注入
public class JdbcProperties {
private String driverClassName;
private String url;
private String username;
private String password;
public String getDriverClassName() {
return driverClassName;
}
public void setDriverClassName(String driverClassName) {
this.driverClassName = driverClassName;
}
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;
}
}
配置資訊屬性類物件的使用,(註解載入類級別上)
/**
* @author 守鶴
* @date 2020/5/12 23:47
*/
@Configuration
//這個註解必須要寫,指定載入哪個配置資訊屬性類
@EnableConfigurationProperties(JdbcProperties.class)
public class DataSourceConfig {
@Autowired
private JdbcProperties jdbcProperties;
@Bean
public DataSource getDataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName(jdbcProperties.getDriverClassName());
dataSource.setUrl(jdbcProperties.getUrl());
dataSource.setUsername(jdbcProperties.getUsername());
dataSource.setPassword(jdbcProperties.getPassword());
return dataSource;
}
}
2.2 自動生成配置資訊屬性類的物件
配置資訊屬性類物件的使用,(註解載入方法級別上)
@Configuration
@EnableConfigurationProperties(JdbcProperties.class)
public class DataSourceConfig {
@Bean
public DataSource getDataSource(JdbcProperties jdbcProperties) {DruidDataSource dataSource = new DruidDataSource();Swift Code
dataSource.setDriverClassName(jdbcProperties.getDriverClassName());
dataSource.setUrl(jdbcProperties.getUrl());
dataSource.setUsername(jdbcProperties.getUsername());
dataSource.setPassword(jdbcProperties.getPassword());
return dataSource;
2.3 自動生成配置資訊屬性類的物件
配置資訊屬性類物件的使用,(註解載入構造方法級別上)
/**
* @author 守鶴
* @date 2020/5/12 23:47
*/
@Configuration
@EnableConfigurationProperties(JdbcProperties.class)
public class DataSourceConfig {
private JdbcProperties jdbcProperties;
public DataSourceConfig(JdbcProperties jdbcProperties){
this.jdbcProperties=jdbcProperties;
@Bean
public DataSource getDataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName(jdbcProperties.getDriverClassName());
dataSource.setUrl(jdbcProperties.getUrl());
dataSource.setUsername(jdbcProperties.getUsername());
dataSource.setPassword(jdbcProperties.getPassword());
return dataSource;
2.4 自動生成配置資訊屬性類的物件(優雅方式)
application.properties 中 prefix 後面的屬性名稱需要和DruidDataSource 中屬性一致才可以注入.
因為@ConfigurationProperties註解會根據配置檔案的內容,呼叫物件的set方法.
/**
* @author 守鶴
* @date 2020/5/12 23:47
*/
@Configuration
public class DataSourceConfig {
@Bean
@ConfigurationProperties(prefix = "jdbc")
public DataSource getDataSource() {
DruidDataSource dataSource = new DruidDataSource();
return dataSource;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2692432/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java讀取properties檔案Java
- mybatis讀取properties檔案內容MyBatis
- java中讀取.properties配置檔案Java
- Java讀取properties配置檔案工具包Java
- Java系列-如何讀取.properties屬性檔案Java
- 讀取resources中properties檔案內容範例
- Java讀取properties檔案連線資料庫Java資料庫
- java Spring讀取properties檔案的注意點JavaSpring
- Spring用程式碼來讀取properties檔案Spring
- Spring boot 讀取properties檔案的四種方式Spring Boot
- java讀取ApplicationResources.properties資原始檔JavaAPP
- 讀取web專案properties檔案路徑 解決tomcat伺服器找不到properties路徑問題WebTomcat伺服器
- 結合 Go 讀 APUE-檔案共享Go
- java Properties獲取本地檔案的變數Java變數
- EXE檔案結構及讀取方法
- jeesite檔案結構與jeesite.properties
- 讀取web應用下的資原始檔(例如properties)Web
- 通過讀取properties檔案動態生成對資料庫的連線資料庫
- Pandas之EXCEL資料讀取/儲存/檔案分割/檔案合併Excel
- spring 載入不了jdbc.properties檔案的資料問題SpringJDBC
- 結合 Go 讀 APUE-基本檔案I/OGo
- Java 讀取檔案Java
- tiff檔案讀取
- [XML與properties檔案]XML
- Properties屬性檔案
- 【Spring原始碼分析】.properties檔案讀取及佔位符${...}替換原始碼解析Spring原始碼
- java進階(36)--IO和Properties聯合使用(配置檔案)Java
- python讀取檔案——python讀取和儲存mat檔案Python
- viper 讀取配置檔案
- go配置檔案讀取Go
- iOS讀取.csv檔案iOS
- php 讀取超大檔案PHP
- JAVA 讀取xml檔案JavaXML
- WinForm讀取Excel檔案ORMExcel
- 用友任意檔案讀取
- VB讀取文字檔案的例子:逐行讀取
- properties檔案載入器
- 怎樣獲取Torque.properties檔案的絕對路徑?