Spring循环依赖的三种方式以及解决办法
摘要:一. 什么是循环依赖? 循环依赖其实就是循环引用,也就是两个或者两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图: 注意,这里不是函数的循环调用,是对象的相互依赖关系。循环调用其实就是一个死循环,除非有终结条件。 Spring中循环依赖场景有: (1)构
阅读全文
posted @
2019-07-22 17:04
一中晴哥威武
阅读(23498)
推荐(3) 编辑
Ioc和Aop底层原理
摘要:Spring中主要用到的设计模式有工厂模式和代理模式。 IOC:Inversion of Control控制反转,也叫依赖注入,通过 sessionfactory 去注入实例;IOC就是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是通过容器生成,同时,要是产生的是单例的
阅读全文
posted @
2019-07-18 11:39
一中晴哥威武
阅读(1661)
推荐(0) 编辑
注解@Transactional(rollbackFor = Exception.class) 的用法
摘要:由于业务需求要求,在一个Service的一个方法A中有一个for循环,每次循环里面的业务逻辑有可能发生异常,这个时候就需要将这个循环内的所有数据库操作给回滚掉,但是又不能影响到之前循环里数据的更改,并且后面的循环里不发生异常的情况下也需要正常操作数据库 catch中加上手动回滚 Transactio
阅读全文
posted @
2019-04-28 14:32
一中晴哥威武
阅读(4568)
推荐(0) 编辑
Spring的回滚问题
摘要:再说下声明式事务和注解事务回滚的原理:当被切面切中或者是加了注解的方法中抛出了RuntimeException异常时,Spring会进行事务回滚。默认情况下是捕获到方法的RuntimeException异常,也就是说抛出只要属于运行时的异常(即RuntimeException及其子类)都能回滚;但当
阅读全文
posted @
2019-03-27 16:23
一中晴哥威武
阅读(152)
推荐(0) 编辑
Spring的事务
摘要:spring支持编程式事务管理和声明式事务管理两种方式。对于编程式事务管理,spring推荐使用TransactionTemplate。声明式事务管理建立在AOP之上的。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务
阅读全文
posted @
2019-03-27 16:20
一中晴哥威武
阅读(84)
推荐(0) 编辑
Spring事务隔离级别和传播性
摘要:事务的隔离级别也分为四种: read uncommited(读未提交)、 read commited(读提交)、 read repeatable(读重复)、 serializable(序列化), 这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。 事务的7种传播级别: 1)PROPAGATIO
阅读全文
posted @
2019-03-26 14:50
一中晴哥威武
阅读(313)
推荐(0) 编辑
Spring用了哪些设计模式
摘要:单例:只产生一个对象,共享对象的资源; 多例:产生多个对象,对象资源没有联系;(action) 在ssm框架中 service层、dao层、controller层都是默认使用单例模式,只会产生唯一 一个对象。在通用的SSH中,单例在spring中是默认的,如果要产生多例,则在配置文件的bean中添加
阅读全文
posted @
2019-03-26 14:22
一中晴哥威武
阅读(221)
推荐(0) 编辑
Spring和SpringMVC的常用注解
摘要:Spring的部分: 使用注解之前要开启自动扫描功能 其中base-package为需要扫描的包(含子包)。 <context:component-scan base-package="cn.test"/> <context:component-scan base-package="cn.test"
阅读全文
posted @
2019-03-20 17:54
一中晴哥威武
阅读(214)
推荐(0) 编辑