Spring系列第56篇:面试官:循环依赖不用三级缓存可以么? 1、什么是循环依赖? 2、循环依赖的注入对象的2种方式:构造器的方式、setter的方式 3、构造器的方式详解 4、spring是如何知道有循环依赖的? 5、setter方式详解 6、需注意循环依赖注入的是半成品 7、为什么必须用三级缓存? 2021-02-25 浏览(101) 评论(0) 阅读全文
Spring系列第55篇:spring上下文生命周期 本文主要内容:带大家掌握spring应用上下文的生命周期。 为什么需要掌握这个? 1、应对面试,面试中经常会问到 2、项目中想扩展spring的,那么这部分内容必须掌握 3、更容易阅读spirng源码 2021-02-24 浏览(50) 评论(0) 阅读全文
Spring系列第53篇:Spring集成MyBatis 目前注解的方式我们用的比较多,所以主要介绍注解的方式,xml的方式这里就暂时不介绍了。 注解的方式mybatis集成spring主要有2种方式: 1、方式1:mapper xml文件放在resource目录,和Mapper接口不在一个目录的情况 2、方式2:mapper xml文件和Mapper接口在同一个目录 2021-02-24 浏览(34) 评论(0) 阅读全文
Spring系列第52篇:Spring实现数据库读写分离 今天的主要目标:通过spring实现读写分离。 读写分离需实现下面2个功能: 1、读的方法,由调用者来控制具体是读从库还是主库 2、有事务的方法,内部的所有读写操作都走主库 2021-02-24 浏览(23) 评论(0) 阅读全文
Spring系列第51篇:导致 Spring 事务失效常见的几种情况 事务失效的7种情况 1. 未启用spring事务管理功能 2. 方法不是public类型的 3. 数据源未配置事务管理器 4. 自身调用问题 5. 异常类型错误 6. 异常被吞了 7. 业务和spring事务代码必须在一个线程中 2021-02-24 浏览(31) 评论(0) 阅读全文
Spring系列第50篇:spring事务拦截器顺序如何控制? 咱们知道 Spring 事务是通过aop的方式添加了一个事务拦截器,事务拦截器会拦截目标方法的执行,在方法执行前后添加了事务控制。 那么spring事务拦截器的顺序如何控制呢,若我们自己也添加了一些拦截器,此时事务拦截器和自定义拦截器共存的时候,他们的顺序是怎么执行的?如何手动来控制他们的顺序?? 2021-02-24 浏览(22) 评论(0) 阅读全文
Spring系列第48篇:@Transaction 事务源码解析 大家好,今天咱们通过源码来了解一下spring中@Transaction事务的原理。 2021-02-24 浏览(29) 评论(0) 阅读全文
Spring系列第46篇:Spring如何管理多数据源事务? 本篇内容:通过原理和大量案例带大家吃透Spring多数据源事务。 Spring中通过事务管理器来控制事务,每个数据源都需要指定一个事务管理器,如果我们的项目中需要操作多个数据库,那么需要我们配置多个数据源,也就需要配置多个数据管理器。 2021-02-24 浏览(20) 评论(0) 阅读全文
Spring系列第44篇:spring声明事务怎么用的? spring事务有2种用法:编程式事务和声明式事务。 编程式事务上一篇文章中已经介绍了,不熟悉的建议先看一下编程式事务的用法。 这篇主要介绍声明式事务的用法,我们在工作中基本上用的都是声明式事务,所以这篇文章是比较重要的,建议各位打起精神,正式开始。 2021-02-24 浏览(18) 评论(0) 阅读全文
Spring系列第42篇:JdbcTemplate实现增删改查如此简单? 本来这篇文章要写spring事务的,但是事务中大部分案例会用到JdbcTemplate相关的功能,所以先把JdbcTemplate拿出来说一下。 2021-02-24 浏览(13) 评论(0) 阅读全文
Spring系列第41篇:@EnableCaching集成redis缓存 上篇文章主要介绍了spring中缓存的使用,不过文中的案例都是以本地内存作为存储介质的,但是实际上我们的项目上线之后,基本上都会采用集群的方式进行部署,如果将数据存储在本地内存中,集群之间是无法共享的,我们可以将数据存储在redis中,从而实现缓存的共享,下面我们一起来看下Spring中@EnableCaching如何对接redis。 2021-02-24 浏览(14) 评论(0) 阅读全文
Spring系列第40篇:缓存使用(@EnableCaching、@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig) 缓存大家都有了解过吧,主要用来提升系统查询速度。 Spring中提供了一整套的缓存解决方案,使用起来特别的容易,主要通过注解的方式使用缓存,常用的有5个注解,我们一个个来介绍。 2021-02-24 浏览(13) 评论(0) 阅读全文
Spring系列第39篇:强大的Spel表达式 Spring表达式语言全称为“Spring Expression Language”,缩写为“SpEL”,类似于Struts2x中使用的OGNL表达式语言,能在运行时构建复杂表达式、存取对象图属性、对象方法调用等等,并且能与Spring功能完美整合,如能用来配置Bean定义。 表达式语言给静态Java语言增加了动态功能。 SpEL是单独模块,只依赖于core模块,不依赖于其他模块,可以单独使用。 2021-02-24 浏览(21) 评论(0) 阅读全文
Spring系列第38篇:@Scheduled & @EnableScheduling定时器详解 spring中 @Scheduled & @EnableScheduling 这2个注解,可以用来快速开发定时器,使用特别的简单。 2021-02-24 浏览(19) 评论(0) 阅读全文
Spring系列第37篇:@EnableAsync & @Async 实现方法异步调用 详解 @EnableAsync & @Async,主要分下面几个点进行介绍。 1. 作用 2. 用法 3. 获取异步执行结果 4. 自定义异步执行的线程池 5. 自定义异常处理 6. 线程隔离 7. 源码 & 原理 2021-02-24 浏览(18) 评论(0) 阅读全文