spring.datasource.dynamic懒加载
时间: 2023-09-04 10:10:55 浏览: 197
SpringBoot-SpringData-懒加载
在使用 Spring Boot 的时候,我们经常会使用 `spring.datasource.dynamic` 属性来配置动态数据源。如果我们希望在启动应用程序时不加载所有数据源,而是在需要时才加载,可以使用 `lazy-init` 属性来实现懒加载。
具体来说,我们可以将 `spring.datasource.dynamic` 的值设置为 `true`,然后将想要延迟加载的数据源的 `lazy-init` 属性设置为 `true`。这样,在应用程序启动时,只有默认数据源会被加载,而其他数据源会在需要时才会被加载。
举个例子,假设我们有两个数据源:`db1` 和 `db2`。我们可以这样配置:
```properties
spring.datasource.dynamic=true
spring.datasource.dynamic.datasource.master.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.dynamic.datasource.master.url=jdbc:mysql://localhost:3306/db1
spring.datasource.dynamic.datasource.master.username=root
spring.datasource.dynamic.datasource.master.password=root
spring.datasource.dynamic.datasource.slave.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.dynamic.datasource.slave.url=jdbc:mysql://localhost:3306/db2
spring.datasource.dynamic.datasource.slave.username=root
spring.datasource.dynamic.datasource.slave.password=root
spring.datasource.dynamic.datasource.slave.lazy-init=true
```
在这个例子中,我们将 `slave` 数据源的 `lazy-init` 属性设置为 `true`,这意味着它将在需要时才会被加载。如果我们希望在启动应用程序时立即加载所有数据源,可以将 `lazy-init` 属性设置为 `false`。
阅读全文