前一篇:13-Springboot中HttpEncodingAutoConfiguration自动配置详解https://blog.csdn.net/fsjwin/article/details/109740170

数据源的配置,首先说明,boot已经集成了数据源,我们可以使用其知道的数据源,但是谁会用他自带的呢?哈哈,可以原理还是很重要的,需要好好了解下,之后呢,想用什么数据源就对接什么数据源就可以了。哈哈哈

1. 使用数据源的前提,加入依赖

starter是不是很熟悉,一个start解决所有问题<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId><version>2.3.0.RELEASE</version></dependency>对接的是mysql数据库,引入mysql的启动包<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.9</version></dependency>

深入的了解下这个spring-boot-starter-jdbc中引入了那些依赖

<dependencies>基础依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><version>2.3.0.RELEASE</version><scope>compile</scope></dependency>Hikari数据源和durid、dpcp、c3p0一样的功能<dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId><scope>compile</scope></dependency>spring-jdbc的依赖<dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><scope>compile</scope></dependency></dependencies>

2. 数据源的自动配置类看一眼DataSourceAutoConfiguration

想象一下肯定有这么一个类叫:DataSourceAutoConfiguration
它里面会有个properies类封装相关yml参数,
我们要做的就是在yml中写一些他规定好的配置就可以了。

  1. 池化的数据源
 @Configuration(proxyBeanMethods = false)@Conditional(PooledDataSourceCondition.class)@ConditionalOnMissingBean({ DataSource.class, XADataSource.class })@Import({ DataSourceConfiguration.Hikari.class, DataSourceConfiguration.Tomcat.class,DataSourceConfiguration.Dbcp2.class, DataSourceConfiguration.Generic.class,DataSourceJmxConfiguration.class })protected static class PooledDataSourceConfiguration {}


2. 类上的注解:

@EnableConfigurationProperties(DataSourceProperties.class)
  1. DataSourceProperties中规定配置规则,和封装配置属性
@ConfigurationProperties(prefix = "spring.datasource")
public class DataSourceProperties implements BeanClassLoaderAware, InitializingBean {private ClassLoader classLoader;/*** Name of the datasource. Default to "testdb" when using an embedded database.*/private String name;

以:spring.datasource开头的配置既可以,配置我们自己的数据源

3. yml配置:


spring:datasource:url: jdbc:mysql://127.0.0.1:yuhl?useSSL=falsedriver-class-name: com.mysql.jdbc.Driverusername: rootpassword: root#type就是实现了DataSource数据源,可以换成其他的哦!前提,需要引入其他数据源的依赖先。type: com.zaxxer.hikari.HikariDataSource

3. 使用的时候注入数据源接口

@RestController
public class HelloController {@AutowiredDataSource dataSource;@RequestMapping("/hello")public String hello() {System.out.println("dataSource" + dataSource);return "hello";}
}

4. 测试

type: com.zaxxer.hikari.HikariDataSource:

如果我们把type换了,会怎样嗯?肯定就换成别的数据源了。
下面会介绍使用druid数据源。

5. 总结

使用数据源时:
1. 引入依赖
2. 配置yml即可使用,
3. 中间boot做了什么事:autoconfiguration和properties做到注入。
4. 使用时引用即可使用

下一篇:15-Springboot其他数据源配置之Druid https://blog.csdn.net/fsjwin/article/details/109742300

14-Springboot默认数据源配置HikariDataSource相关推荐

  1. Springboot多数据源配置详解

    Springboot多数据源配置详解 概念 配置 多数据源使用 概念 一般来说,我们正常的业务只涉及一个数据源,在特定的业务场景中需要使用多个数据源的情况,就需要配置多个数据源来满足特定的业务需求.本 ...

  2. springboot 默认日志配置以及更换其他日志配置

    springboot 默认日志配置 最简单的打印Sql日志 方法一 此方法无需改动直接复制即可使用 #打印SQL mybatis.configuration.log-impl=org.apache.i ...

  3. springboot 多数据源配置的几种方式

    springboot多数据源配置的三种方式 application.yml配置 1.@Ds("配置数据源名称") 引入依赖 <dependency> <group ...

  4. springboot默认数据源如何设置连接数_Spring Boot系列之配置数据库连接池

    在实际的应用开发中,与数据库交互通常使用数据库连接池来重用Connection对象,减少资源消耗. Spring Boot 的数据源是自动配置的.在 Spring Boot 2.2.1 版本中,有几种 ...

  5. SpringBoot 之数据源配置

    文章目录 市面上的几种数据源比对 SpringBoot自动装配DataSource原理 HiKariCP 数据源配置 Druid 数据源配置 SpringBoot集成Druid连接池 Druid 多数 ...

  6. SpringBoot排除数据源配置,配置决定行为

    项目场景: 最近接到一个需求,大概意思呢就是数据库连接不够用了,部分服务(分服务)就不需要配置数据源了,需要跟db打交道的地方全部改成rpc去调用具备db能力的服务(总服务) 问题描述: 其实需要改的 ...

  7. SpringBoot多数据源配置

    作者平台: | CSDN:blog.csdn.net/qq_41153943 | 掘金:juejin.cn/user/651387- | 知乎:www.zhihu.com/people/1024- | ...

  8. springboot 多数据源配置,postgresql+mysql为例

    由于项目需要,利用springboot配置多数据源,postgresql+mysql: 1.首先导入需要的依赖包,包的版本根据需要选择,本项目是spring-boot-starter-parent 2 ...

  9. springboot默认数据源如何设置连接数_spring boot基于DRUID数据源密码加密及数据源监控实现...

    项目源码路径:https://github.com/Syske/learning-dome-code.git 前言 随着需求和技术的日益革新,spring boot框架是越来越流行,也越来越多地出现在 ...

最新文章

  1. 英特尔90亿美元卖掉「起家业务」,SK海力士接盘
  2. .NET(C#):使用Win32Exception类型处理Win32错误代码
  3. 时下最热开源大数据技术TOP10
  4. Python基础教程:json中load和loads区别
  5. 全球 Top 10 高材生赴神策数据的交流访问之旅
  6. 关于MULE ESB相关的介绍
  7. Java EE 7中包含哪些JSR?
  8. Autodesk View and Data API二次开发学习指南
  9. 2021-06-01 深入分析偏向锁、轻量级锁和重量级锁
  10. fruncm server sql 无法生成 线程_SQL Server无法生成FRunCM线程的解决方法
  11. 从“做什么”到“怎么做”,说说一只蚊子
  12. H2最完整的资料下载地址:
  13. Gym - 102163M
  14. ibm服务器vga没有信号,华硕主板vga和boot灯常亮显示器无信号
  15. matlab语音合成技术,基于MATLAB的语音处理 语音合成..doc
  16. 尚医通笔记-后台管理
  17. 灯泡窃听,照射出物联网的“深层黑洞”
  18. 美国印第安纳大州Purdue(普杜)大学的法国数学家Louis de Branges de Bourcia周二表示已经证明了黎曼猜想
  19. 常见的web攻击手段
  20. Stripe中的 googlePay 和 applePay (Java)

热门文章

  1. 3D模型欣赏:中国神话中的龙子睚眦的人形诠释
  2. java 实现excel中上下角标处理实现原理
  3. 揭秘!今年最好高薪就业的专业!
  4. windows服务器查看型号,Windows服务器查看内存型号
  5. 【python】词性标注结合镜像分词
  6. v2ray 搭建的服务器连接后出现超时
  7. 2021年12月远程网络教育大学英语B统考题库考试题(完整最新)
  8. java怎么调用手机手电_android 手电筒的实现
  9. 学习Swift写iOS?那写安卓和WinPhone呢?请看一石三鸟终极解决方案 - Silver!
  10. 使用Xamarin.Android中的Google登录OAuth 2.0对用户进行身份验证