springboot數(shù)據(jù)源如何配置

小億
119
2023-10-09 09:51:17

Spring Boot提供了多種配置數(shù)據(jù)源的方式,可以根據(jù)具體的需求選擇適合的配置方式。

1. 使用默認(rèn)配置:Spring Boot默認(rèn)使用嵌入式的H2數(shù)據(jù)庫(kù)作為數(shù)據(jù)源。只需要在`application.properties`或`application.yml`中設(shè)置相關(guān)的數(shù)據(jù)庫(kù)連接配置即可,例如:

```properties
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
```

2. 使用自定義數(shù)據(jù)源:可以通過(guò)在`@Configuration`類中配置`DataSource` bean來(lái)自定義數(shù)據(jù)源。例如:

```java
@Configuration
public class DataSourceConfig {
   @Bean
   @ConfigurationProperties(prefix = "spring.datasource")
   public DataSource dataSource() {
       return DataSourceBuilder.create().build();
   }
}
```

然后在`application.properties`或者`application.yml`中設(shè)置相關(guān)的數(shù)據(jù)庫(kù)連接配置。

3. 使用JNDI數(shù)據(jù)源:如果應(yīng)用部署在支持JNDI的應(yīng)用服務(wù)器上,可以使用JNDI數(shù)據(jù)源。只需要在`application.properties`中配置相關(guān)的JNDI名稱即可,例如:

```properties
spring.datasource.jndi-name=java:/comp/env/jdbc/mydb
```

4. 使用多數(shù)據(jù)源:如果需要配置多個(gè)數(shù)據(jù)源,可以使用`@Configuration`類配置多個(gè)`DataSource` bean,并使用`@Primary`注解指定默認(rèn)數(shù)據(jù)源。例如:

```java
@Configuration
public class DataSourceConfig {
   @Primary
   @Bean
   @ConfigurationProperties(prefix = "spring.datasource.primary")
   public DataSource primaryDataSource() {
       return DataSourceBuilder.create().build();
   }

   @Bean
   @ConfigurationProperties(prefix = "spring.datasource.secondary")
   public DataSource secondaryDataSource() {
       return DataSourceBuilder.create().build();
   }
}
```

然后在`application.properties`或者`application.yml`中分別設(shè)置兩個(gè)數(shù)據(jù)源的連接配置。

以上是幾種常見(jiàn)的配置數(shù)據(jù)源的方式,可以根據(jù)實(shí)際需求選擇合適的方式來(lái)配置數(shù)據(jù)源。

0