[000-01-015].第03节:SpringBoot中数据源的自动配置

2024-08-30 20:52

本文主要是介绍[000-01-015].第03节:SpringBoot中数据源的自动配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我的后端学习大纲

SpringBoot学习大纲


1.数据访问流程:

在这里插入图片描述


2.搭建数据库开发场景:

2.1.导入JDBC场景:

在这里插入图片描述
在这里插入图片描述


2.2.分析自动导入的内容:

在这里插入图片描述


2.3.分析为何没有导入数据库驱动:

  • 1.因为人家也不知道我要用啥数据库,所以在自己决定用什么数据库后,就自己引入数据库驱动就可以了
  • 2.SpringBoot对引入的数据库有默认的版本库,想要修改版本可以有以下两个方式:

直接依赖引入具体版本(maven的就近依赖原则)

        <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.49</version></dependency>

重新声明版本(maven的属性的就近优先原则

  <properties><java.version>1.8</java.version><mysql.version>5.1.49</mysql.version></properties>

3.分析自动配置类:

在这里插入图片描述
在这里插入图片描述


3.1.数据源的自动配置类:DataSourceAutoConfiguration

在这里插入图片描述

  • 1.修改数据源相关的配置:spring.datasource
    在这里插入图片描述
  • 2.数据库连接池的配置是自己容器中没有DataSource才自动配置的;底层默认配置好的连接池是:HikariDataSource
    	@Configuration(proxyBeanMethods = false)@Conditional(PooledDataSourceCondition.class)@ConditionalOnMissingBean({ DataSource.class, XADataSource.class })@Import({ DataSourceConfiguration.Hikari.class, DataSourceConfiguration.Tomcat.class,DataSourceConfiguration.Dbcp2.class, DataSourceConfiguration.OracleUcp.class,DataSourceConfiguration.Generic.class, DataSourceJmxConfiguration.class })protected static class PooledDataSourceConfiguration
    
  • 3.对DataSourceConfiguration点入进去看看:
    在这里插入图片描述
    在这里插入图片描述

3.2. 事务管理器的自动配置类:DataSourceTransactionManagerAutoConfiguration:


3.3. JdbcTemplate的自动配置类:JdbcTemplateAutoConfiguration:

可以来对数据库进行crud

在这里插入图片描述
在这里插入图片描述
- 可以修改这个配置项@ConfigurationProperties(prefix = "spring.jdbc")来修改JdbcTemplate
- @Bean@Primary JdbcTemplate容器中有这个组件
在这里插入图片描述


3.4. jndi的自动配置类:JndiDataSourceAutoConfiguration


3.5.分布式事务相关的配置类:XA DataSourceAutoConfiguration:


4.修改配置项

spring:datasource:url: jdbc:mysql://localhost:3306/db_accountusername: rootpassword: ROOTdriver-class-name: com.mysql.jdbc.Driver

5.做个小测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述



6.更改数据源为Druid后产生的自动配置:

  • 2.引入场景:
    在这里插入图片描述
  • 3.分析自动配置:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 1.扩展配置项:spring.datasource.druid
  • 2.DruidSpringAopConfiguration.class, 监控SpringBean的;配置项:spring.datasource.druid.aop-patterns
    在这里插入图片描述
    在这里插入图片描述
  • 3.DruidStatViewServletConfiguration.class, 监控页的配置:spring.datasource.druid.stat-view-servlet;默认开启
    在这里插入图片描述
  • 4.DruidWebStatFilterConfiguration.class, web监控配置;spring.datasource.druid.web-stat-filter;默认开启
    在这里插入图片描述
  • 5.DruidFilterConfiguration.class}) :所有Druid自己filter的配置:
    在这里插入图片描述
        private static final String FILTER_STAT_PREFIX = "spring.datasource.druid.filter.stat";private static final String FILTER_CONFIG_PREFIX = "spring.datasource.druid.filter.config";private static final String FILTER_ENCODING_PREFIX = "spring.datasource.druid.filter.encoding";private static final String FILTER_SLF4J_PREFIX = "spring.datasource.druid.filter.slf4j";private static final String FILTER_LOG4J_PREFIX = "spring.datasource.druid.filter.log4j";private static final String FILTER_LOG4J2_PREFIX = "spring.datasource.druid.filter.log4j2";private static final String FILTER_COMMONS_LOG_PREFIX = "spring.datasource.druid.filter.commons-log";private static final String FILTER_WALL_PREFIX = "spring.datasource.druid.filter.wall";
    

这篇关于[000-01-015].第03节:SpringBoot中数据源的自动配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1121903

相关文章

JAVA虚拟机中 -D, -X, -XX ,-server参数使用

《JAVA虚拟机中-D,-X,-XX,-server参数使用》本文主要介绍了JAVA虚拟机中-D,-X,-XX,-server参数使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录一、-D参数二、-X参数三、-XX参数总结:在Java开发过程中,对Java虚拟机(JVM)的启动参数进

Java中数组转换为列表的两种实现方式(超简单)

《Java中数组转换为列表的两种实现方式(超简单)》本文介绍了在Java中将数组转换为列表的两种常见方法使用Arrays.asList和Java8的StreamAPI,Arrays.asList方法简... 目录1. 使用Java Collections框架(Arrays.asList)1.1 示例代码1.

Java中使用注解校验手机号格式的详细指南

《Java中使用注解校验手机号格式的详细指南》在现代的Web应用开发中,数据校验是一个非常重要的环节,本文将详细介绍如何在Java中使用注解对手机号格式进行校验,感兴趣的小伙伴可以了解下... 目录1. 引言2. 数据校验的重要性3. Java中的数据校验框架4. 使用注解校验手机号格式4.1 @NotBl

MyBatis的配置对象Configuration作用及说明

《MyBatis的配置对象Configuration作用及说明》MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对... 目录MyBATis配置对象Configuration作用Configuration 对象的主要作用C

SpringBoot自定义注解如何解决公共字段填充问题

《SpringBoot自定义注解如何解决公共字段填充问题》本文介绍了在系统开发中,如何使用AOP切面编程实现公共字段自动填充的功能,从而简化代码,通过自定义注解和切面类,可以统一处理创建时间和修改时间... 目录1.1 问题分析1.2 实现思路1.3 代码开发1.3.1 步骤一1.3.2 步骤二1.3.3

SpringBoot基于沙箱环境实现支付宝支付教程

《SpringBoot基于沙箱环境实现支付宝支付教程》本文介绍了如何使用支付宝沙箱环境进行开发测试,包括沙箱环境的介绍、准备步骤、在SpringBoot项目中结合支付宝沙箱进行支付接口的实现与测试... 目录一、支付宝沙箱环境介绍二、沙箱环境准备2.1 注册入驻支付宝开放平台2.2 配置沙箱环境2.3 沙箱

使用Java发送邮件到QQ邮箱的完整指南

《使用Java发送邮件到QQ邮箱的完整指南》在现代软件开发中,邮件发送功能是一个常见的需求,无论是用户注册验证、密码重置,还是系统通知,邮件都是一种重要的通信方式,本文将详细介绍如何使用Java编写程... 目录引言1. 准备工作1.1 获取QQ邮箱的SMTP授权码1.2 添加JavaMail依赖2. 实现

Java嵌套for循环优化方案分享

《Java嵌套for循环优化方案分享》介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通... 目录Java 嵌套 for 循环优化方案1. 减少循环次数2. 合并循环3. 使用更高效的数据结构4

IDEA与JDK、Maven安装配置完整步骤解析

《IDEA与JDK、Maven安装配置完整步骤解析》:本文主要介绍如何安装和配置IDE(IntelliJIDEA),包括IDE的安装步骤、JDK的下载与配置、Maven的安装与配置,以及如何在I... 目录1. IDE安装步骤2.配置操作步骤3. JDK配置下载JDK配置JDK环境变量4. Maven配置下

java两个List的交集,并集方式

《java两个List的交集,并集方式》文章主要介绍了Java中两个List的交集和并集的处理方法,推荐使用Apache的CollectionUtils工具类,因为它简单且不会改变原有集合,同时,文章... 目录Java两个List的交集,并集方法一方法二方法三总结java两个List的交集,并集方法一