企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
该注解的作用是,排除自动注入数据源的配置,用 exclude 属性进行排除指定的类,在springBoot中使用多数据源时,加上`@SpringBootApplication(exclude={DataSourceAutoConfiguration.calss})` > 原因是因为:SpringBoot里面只能存在单数据源,所以只能启动一个服务,如果想启动多个服务,需要在启动配置类下添加 `(exclude={DataSourceAutoConfiguration.class})`,将客户端/消费者的服务排除掉数据源,禁止SpringBoot自动注入数据源。这样就可以成功启动多服务了 `DataSourceAutoConfiguration.class` 会自动查找 `application.yml` 或者 `properties` 文件里的` spring.datasource.*`相关属性并自动配置单数据源 DataSourceAutoConfiguration.class默认会帮我们自动配置单数据源,所以,如果想在项目中使用多数据源就需要排除它,手动指定多数据源。 ### 单数据源中 `application.yml`为 ``` spring: datasource: name: test url: jdbc:mysql:/127.0.0.1:3306/test?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF8 username: root password: root ``` ### 多数据源中 `application.yml`为 即在springBoot 中要加上 `@SpringBootApplication(exclude={DataSourceAutoConfiguration.calss})` ``` spring: datasource: default: name: test url: jdbc:mysql:/127.0.0.1:3306/test?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF8 username: root password: root ```