springboot中怎么配置數(shù)據(jù)源

小億
233
2023-10-27 10:48:42

在Spring Boot中配置數(shù)據(jù)源有以下幾種方式:
1. 使用默認(rèn)的數(shù)據(jù)源配置:Spring Boot提供了默認(rèn)的數(shù)據(jù)源配置,只需要在application.properties或application.yml文件中配置相關(guān)屬性即可。例如,在application.properties文件中配置HikariCP數(shù)據(jù)源:
```
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
```
2. 自定義數(shù)據(jù)源:可以通過(guò)創(chuàng)建一個(gè)@Configuration類(lèi)來(lái)自定義數(shù)據(jù)源配置。在這個(gè)類(lèi)中,使用@Bean注解創(chuàng)建一個(gè)DataSource對(duì)象,并設(shè)置相關(guān)屬性。例如,使用HikariCP數(shù)據(jù)源:
```java
@Configuration
public class DataSourceConfig {
   @Value("${spring.datasource.url}")
   private String url;
   @Value("${spring.datasource.username}")
   private String username;
   @Value("${spring.datasource.password}")
   private String password;
   @Value("${spring.datasource.driver-class-name}")
   private String driverClassName;
   @Bean
   public DataSource dataSource() {
       HikariConfig config = new HikariConfig();
       config.setJdbcUrl(url);
       config.setUsername(username);
       config.setPassword(password);
       config.setDriverClassName(driverClassName);
       return new HikariDataSource(config);
   }
}
```
3. 使用JNDI數(shù)據(jù)源:可以將數(shù)據(jù)源配置到應(yīng)用服務(wù)器的JNDI上下文中,然后在Spring Boot應(yīng)用中通過(guò)注入`javax.sql.DataSource`對(duì)象來(lái)使用。例如,Tomcat服務(wù)器的JNDI配置:
```java
@Configuration
public class DataSourceConfig {
   @Resource
   private DataSource dataSource;

   // ...
}
```
需要注意的是,根據(jù)不同的數(shù)據(jù)庫(kù)和連接池,可能需要引入相應(yīng)的依賴。

0