spring
mywaya2333
这个作者很懒,什么都没留下…
展开
-
切面AOP
aop原创 2023-01-10 22:45:05 · 255 阅读 · 0 评论 -
Spring 事务失效情况
1、没有被 Spring 管理如下面例子所示:// @Servicepublic class OrderServiceImpl implements OrderService { @Transactional public void updateOrder(Order order) { // update order; }}如果此时把 @Service 注解注释掉,这个类就不会被加载成一个 Bean,那这个类就不会被 Spring 管理了,事务转载 2022-01-09 21:57:29 · 66 阅读 · 0 评论 -
Spring 事务隔离级别
PROPAGATION_REQUIRED 支持当前事务,如果不存在 就新建一个(默认)PROPAGATION_SUPPORTS 支持当前事务,如果不存在,就不使用事务PROPAGATION_MANDATORY 支持当前事务,如果不存在,抛出异常* 保证没有在同一个事务中PROPAGATION_REQUIRES_NEW 如果有事务存在,挂起当前事务,创建一个新的事务PROPAGATION_NOT_SUPPORTED 以非事务方式运行,如果有事务存在,挂起当前事务PROPAGATION_原创 2022-01-09 21:09:16 · 58 阅读 · 0 评论 -
spring 动态代理_Spring中的两种动态代理
两种动态代理1、java动态代理利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。2、cglib动态代理利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。 spring中的动态代理 spring会自动在JDK动态代理和CGLIB之间转换1、 默认使用Java动态代理 来创建AOP代理,这样就可以为任何接口实例创建代理了。2、当需要代理的类没有实现代理接口的时候,Spring会切换为使用CGLIB代理。3、可以通过配置 强制使转载 2022-01-09 20:55:20 · 3706 阅读 · 0 评论 -
ApplicationContextAware使用理解
个类实现了这个接口(ApplicationContextAware)之后,这个类就可以方便获得ApplicationContext中的所有bean。换句话说,就是这个类可以直接获取spring配置文件中,所有有引用到的bean对象。@Componentpublic class AppUtil implements ApplicationContextAware { private static ApplicationContext applicationContext;转载 2022-01-08 11:54:40 · 5137 阅读 · 0 评论 -
Spring—AOP两种代理机制对比
1)JDK动态代理:具体实现原理:1、通过实现InvocationHandlet接口创建自己的调用处理器2、通过为Proxy类指定ClassLoader对象和一组interface来创建动态代理3、通过反射机制获取动态代理类的构造函数,其唯一参数类型就是调用处理器接口类型4、通过构造函数创建动态代理类实例,构造时调用处理器对象作为参数参入JDK动态代理是面向接口的代理模式,如果被代理目标没有接口那么Spring也无能为力,Spring通过java的反射机制生产被代理接口的新的匿名转载 2022-01-06 11:14:19 · 147 阅读 · 0 评论