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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mybatis讀取properties檔案內容MyBatis
- java Spring讀取properties檔案的注意點JavaSpring
- Java讀取properties配置檔案工具包Java
- Spring boot 讀取properties檔案的四種方式Spring Boot
- Java讀取properties檔案連線資料庫Java資料庫
- 讀取resources中properties檔案內容範例
- 工具類,關於手工讀取 properties檔案引數
- spring 載入不了jdbc.properties檔案的資料問題SpringJDBC
- EXE檔案結構及讀取方法
- Pandas之EXCEL資料讀取/儲存/檔案分割/檔案合併Excel
- 任意檔案讀取
- Java 讀取檔案Java
- java進階(36)--IO和Properties聯合使用(配置檔案)Java
- properties檔案載入器
- go配置檔案讀取Go
- python讀取大檔案Python
- springboot讀取配置檔案Spring Boot
- 用友任意檔案讀取
- viper 讀取配置檔案
- matlab讀取npy檔案Matlab
- python小白檔案讀取Python
- cocos讀取plist檔案
- python 讀取文字檔案Python
- IOC - 讀取配置檔案
- 前端讀取excel檔案前端Excel
- Java 對 properties 檔案操作 (ResourceBundle 類和 Properties 類)Java
- MySQL-07——JDBC、Properties、DBCP、PreparedstatementMySqlJDBC
- 讀取檔案流並寫入檔案流
- Springboot整合MongoDB儲存檔案、讀取檔案Spring BootMongoDB
- java中讀取配置檔案Java
- go–讀取檔案的方式Go
- C#讀取Xml檔案C#XML
- pg從磁碟讀取檔案
- Spring之Property檔案讀取Spring
- 01 讀取模板HTML檔案HTML
- go 讀取.ini配置檔案Go
- 6.1檔案下載、讀取
- 讀取資料夾檔案