Spring配置单数据源
Posted Gggoblin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring配置单数据源相关的知识,希望对你有一定的参考价值。
git源码地址:https://gitee.com/Gggoblin/geektime-spring.git
目录结构:(SpringBoot项目启动时会默认执行data.sql和schema.sql)
application.properties 可写可不写,效果一样:
management.endpoints.web.exposure.include=*
spring.output.ansi.enabled=ALWAYS
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.hikari.maximumPoolSize=5
spring.datasource.hikari.minimumIdle=5
spring.datasource.hikari.idleTimeout=600000
spring.datasource.hikari.connectionTimeout=30000
spring.datasource.hikari.maxLifetime=1800000
DatasourceDemoApplication:
data.sql:
INSERT INTO FOO (ID, BAR) VALUES (1, \'aaa\');
INSERT INTO FOO (ID, BAR) VALUES (2, \'bbb\');
schema.sql:
CREATE TABLE FOO (ID INT IDENTITY, BAR VARCHAR(64));
运行效果如下图
第一行是datasource的信息:HikariDataSource是SpringBoot的默认数据库连接池(号称java平台最快)
第二行是数据库链接的信息:url以及用户名等
剩下两行就是数据查询结果的数据
git中 还有一份利用原生的Spring实现的单数据源的代码,这里就不放出来了
对比之后发现SpringBoot做的事情有:
DataSourceAutoConfiguration
• 配置 DataSource
DataSourceTransactionManagerAutoConfiguration
• 配置 DataSourceTransactionManager
JdbcTemplateAutoConfiguration
• 配置 JdbcTemplate
符合条件时才进行配置:就是说SpringBoot会在没有手动声明的时候自动配置bean,如果我们手动声明了某个bean,那么SpringBoot就不会进行配置。
以上是关于Spring配置单数据源的主要内容,如果未能解决你的问题,请参考以下文章
Spring MVC 3.2 Thymeleaf Ajax 片段
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
Spring boot:thymeleaf 没有正确渲染片段
What's the difference between @Component, @Repository & @Service annotations in Spring?(代码片段