![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
家中老九
这个作者很懒,什么都没留下…
展开
-
Spring的两种代理JDK和CGLIB的区别浅谈
一、原理区别: java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。 而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。 1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP 2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP 3、如果...原创 2020-06-09 14:36:53 · 234 阅读 · 0 评论 -
Spring注解事务和声明式事务同时使用
Spring xml和注解混用,方法的事物既有注解方式@Transactional()、又有xml的方式 <!-- 配置事务管理器类 --> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property&g原创 2020-06-09 14:33:12 · 1116 阅读 · 0 评论 -
SpringBoot自动装配实现
SpringBoot使用 Spring Boot的出现,得益于“习惯优于配置”的理念,没有繁琐的配置、难以集成的内容(大多数流行第三方技术都被集成),这是基于Spring 4.x提供的按条件配置Bean的能力。 Spring Boot的启动类上有一个@SpringBootApplication注解,这个注解是Spring Boot项目必不可少的注解。那么自动配置原理一定和这个注解有着千丝万缕的联系! @SpringBootApplication public class ConfigApplication转载 2020-05-29 22:25:52 · 3066 阅读 · 0 评论 -
Transaction rolled back because it has been marked as rollback-only异常
在Spring boot中,使用@Transactional(),需要在启动类上添加@EnableTransactionManagement,使用过程中经常会报 Transaction rolled back because it has been marked as rollback-only 含义是:事务已回滚,因为它被标记成了只回滚。出现的原因是spring嵌套事物中,有子事物出现异常,异常...原创 2018-05-16 19:09:58 · 2933 阅读 · 1 评论