分类 SpringBoot 中的文章

学习SpringBoot系列 -04- 多数据源 + Druid

前面两个小节记录下了多数据源和 Druid ,本节综合起来,记录下使用 Druid 结合多数据源。跟实际项目更贴切一些。 学习SpringBoot系列 -02- 多数据源 学习SpringBoot系列 -03- 使用Druid数据库连接池 首先,需要结合前面两节的修改内容,也就是增加 properties 配置文件的多数据源配置;然后修改 pom 文件的依赖配置。为方便查看,这里再贴下修改结果。 1. application.properties 中的相关配置 foo.datasource.url=jdbc:h2:mem:foo foo.datasource.username=sa foo.datasource.password= bar.datasource.url=jdbc:h2:mem:bar bar.datasource.username=sa bar.datasource.password= 2. pom.xml 中的相关配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> <exclusions> <exclusion> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.13</version> </dependency> 3. 数据源类型 同样的,需要对数据源配置类进行添加,可以参考第二小节的内容。 到这里就结束了么? No…No…No, 如果此时运行程序,你会收到下面这个报错: ... Caused by: java.lang.IllegalStateException: No supported DataSource type found ... 报错信息提示已经很明显了,dataSource的Type项有错,只需要分别在foo和bar的数据源配置类中添加下配置即可: dataSourceProperties.setType(com.alibaba.druid.pool.DruidDataSource.class); 这个时候再跑一下,就正常了。 借着极客时间的付费课程《玩转Spring全家桶》的机会,系统性的对Spring家族做些学习和了解。 如果你也有对这个课程的学习需求,可以通过此链接进行购买,我会得到极客的返利。……

阅读全文

学习SpringBoot系列 -03- 使用Druid数据库连接池

SpringBoot 在1.x默认使用的是 Tomcat 连接池; SpringBoot 在2.x默认使用的是 Hikari 连接池; 那么, 如何在SpringBoot工程中使用优秀的 Druid 连接池呢? 关于 Hikari 与 Druid 的那些事,有兴趣的可以这个 issue , 简单来说,各有所长。前者可以认为是个纯粹的数据库连接池,后者同时注重监控、可运维等能力扩展,且有阿里背书,经过大量验证. 1. 添加 Druid 依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.13</version> </dependency> 2. 移除 Hikari 依赖(可选)(建议移除) <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> <exclusions> <exclusion> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> </exclusion> </exclusions> </dependency> 关于 Druid 的一些配置,这里就不展开了。 借着极客时间的付费课程《玩转Spring全家桶》的机会,系统性的对Spring家族做些学习和了解。 如果你也有对这个课程的学习需求,可以通过此链接进行购买,我会得到极客的返利。……

阅读全文

学习SpringBoot系列 -02- 多数据源

如何在SpringBoot工程中配置多数据源呢? 1. 排除掉自动引入的数据源相关配置 @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, JdbcTemplateAutoConfiguration.class }) public class HelloJdbcApplication { public static void main(String[] args) { SpringApplication.run(HelloJdbcApplication.class, args); } } 2. 新增数据源配置信息 application.properties // 这里以H2演示,后面更新 foo.datasource.url=jdbc:h2:mem:foo foo.datasource.username=sa foo.datasource.password= bar.datasource.url=jdbc:h2:mem:bar bar.datasource.username=sa bar.datasource.password= 3. 新增数据源配置类 3.1 foo 数据源的配置类 @Configuration public class FooDataSourceConfiguration { @Bean @ConfigurationProperties("foo.datasource") public DataSourceProperties fooDataSourceProperties() { return new DataSourceProperties(); } @Bean public DataSource fooDataSource() { DataSourceProperties dataSourceProperties = fooDataSourceProperties(); return dataSourceProperties.initializeDataSourceBuilder().build(); } @Bean @Resource public PlatformTransactionManager fooTxManager(DataSource fooDataSource) { return new DataSourceTransactionManager(fooDataSource); } } 3.……

阅读全文

学习SpringBoot系列 -01- 移除parent依赖

借着极客时间的付费课程《玩转Spring全家桶》的机会,系统性的对Spring家族做些学习和了解。 如题,常常项目中会要求统一一个 parent 依赖,而SpringBoot工程默认的 parent 是 spring-boot-starter-parent ,那么如何移除掉这个依赖以便使用其他的parent呢?官方已经考虑到这个问题了,很简单,可以这么做: 1. 在 pom.xml 配置文件中,增加下面这段依赖(当前版本号最新是2.1.3,请根据实际需要进行更改) <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.1.3.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> 2. 在 pom.xml 配置文件中,更改 build 块的配置如下 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.1.3.RELEASE</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> 如果你也有对这个课程的学习需求,可以通过此链接进行购买,我会得到极客的返利。……

阅读全文