Spring
文章平均质量分 75
你的酒窝里有酒
加油!!!
展开
-
synchronized 遇上 @Transactional
一、开篇初始情况下,我们的表格中只有一条id为2的数据,姓名为wangjie,年龄设置为0岁image.png1 不添加synchronized关键字首先,大家先来看看这个程序有没有什么问题 @Transactional public void transactionalMethod(){ User user = userDao.findOne(2); user.setAge(user.getAge()+1); userDao.up原创 2022-05-03 09:41:28 · 2110 阅读 · 2 评论 -
【记】自定义切面导致的事务失效问题
自定义切面导致的事务失效问题1、问题引出在本地测试中,发现在一段被@Transaction注解标注的方法即使抛出了RunTimeException,数据库依然会有新的记录产生,也就是事务没有回滚,代码如下:多次检查事务相关都没有的配置都没有问题,然后在Spring的事务方法中,打上断点,看下具体的执行逻辑:后来发现,retVal = invocation.proceedWithInvocation(); 执行完后,没有进cache代码块,而是直接进入commitTransactionAfterR原创 2021-12-01 23:58:12 · 2526 阅读 · 0 评论 -
SpringAOP
SpringAOP学习什么是AOPAOP:面向切面编程,是对OOP(面向对象编程)的一种补充。假如有这么一个场景,当需要为多个没有关系的类引入一些公共的行为(方法)例如日志记录,安全权利,事务管理等功能,必然每个类都需要引入这些代码,获取可以将这些公共的方法抽出来,放在一个模板类中,其它来继承这个模板类,但这样是会加大程序中,类与类的耦合,而且继承本身就带有很大的局限性,因此AOP应运而生。...原创 2019-08-27 10:49:11 · 235 阅读 · 0 评论 -
SpringAOP类型转换异常问题
在配置文件中加这么一句就OK了。 <aop:aspectj-autoproxy proxy-target-class="true"/>原创 2019-08-07 20:11:42 · 774 阅读 · 0 评论 -
Spring学习 ---- 集合注入
集合注入数组注入<property name="strArray"> <array> <value>"a"</value> <value>b</value> <value>c</value>...原创 2019-08-07 13:30:47 · 164 阅读 · 0 评论 -
Spring学习 ---- bean的依赖注入
bean的依赖装配依赖装配就是为类中的属性赋值,或者说初始化。使用构造器进行依赖装配根据构造方法的参数名称为属性赋值(不是属性的名称)<bean id="user" class="com.xust.excellent.review.User"> <constructor-arg name="name" value="zs"/> &...原创 2019-08-05 19:39:18 · 175 阅读 · 0 评论 -
Spring学习 ----- 理解SpringIoC
SpringIoC强依赖关系现在有两个类,类A和类B,其中A类中有一个fun方法,B类向调用这个方法有什么办法呢?首先fun是一个普通方法,要调用必然要有A类的对象。因此可以这样:但这样的话,A和B之间就会产生一种关系,一种强依赖关系,B类是依赖于A的也就是说没有A类这个对象它就调用不了A类的方法。而Ioc就是为了降低这种依赖而生的。那么如何降低依赖呢?控制反转Inversion...原创 2019-08-01 14:51:21 · 213 阅读 · 0 评论 -
Spring学习 ------ Spring注解学习
Spring注解学习创建对象的注解@Component(value = “user”) (value可以省略),将当前类的对象存入Spring容器中。需要提前说明需要扫描的包。@Controller(value = “user”) (value可省略) — 表现层@Service(value = “user”) ---- 业务层@Repository(value = “use...原创 2019-07-30 22:58:01 · 174 阅读 · 0 评论 -
Spring学习 ---- 创建Bean的四种方式
创建Bean的三种方式反射调用构造方法创建对象 <bean id="bean1" class="com.github.excellent.Bean1"> </bean>Bean对象所处的类中,一定要含有一个无参的构造方法,否则会报错。因为这个方式的本质就是调用反射中的class.newInstance()方法。对于某些别人提供的jar包,不能确定类中是否有...原创 2019-07-30 11:37:30 · 261 阅读 · 0 评论