
Spring相关内容
文章平均质量分 60
Spring相关内容
zzd2018
笔记、总结与感悟
展开
-
Spring的transactional注解自调用失效的原理
我先说一下我自己的理解:失效的关键是Spring的AOP会生成两个对象(这是Java原本的代理方式),所以有两个this,一个是代理类的this,一个是原本类的this,调用原本类的方法的时候,用了原本类的this。而如果只有一个代理增强类的话,就只有一个this了,那么利用多态性就可以避免事务失效了。转载自:https://blog.youkuaiyun.com/seelye/article/details/40144817好了,现在总结一下现象: 1、ServiceA类为Web层的Action...转载 2021-04-09 10:35:56 · 743 阅读 · 0 评论 -
过滤器、拦截器和AOP
过滤器是Java Web层面提供的机制,拦截器是springmvc提供的机制,AOP其实与前面这两个东西关系不大。。。过滤器过滤器拦截的是URLSpring中自定义过滤器(Filter)一般只有一个方法,返回值是void,当请求到达web容器时,会探测当前请求地址是否配置有过滤器,有则调用该过滤器的方法(可能会有多个过滤器),然后才调用真实的业务逻辑,至此过滤器任务完成。过滤器并没有定义业务逻辑执行前、后等,仅仅是请求到达就执行。特别注意:过滤器方法的入参有request,response,F原创 2021-04-04 13:45:41 · 206 阅读 · 0 评论 -
spring的三级缓存
既然singleFactory.getObject()返回的是代理对象,那么注入的也应该是代理对象,我们可以看到注入的确实是经过CGLIB代理的AService对象。所以如果没有AOP的话确实可以两级缓存就可以解决循环依赖的问题,如果加上AOP,两级缓存是无法解决的,不可能每次执行singleFactory.getObject()方法都给我产生一个新的代理对象,所以还要借助另外一个缓存来保存产生的代理对象。...原创 2021-04-01 20:42:51 · 487 阅读 · 0 评论 -
对Spring的IOC和AOP的思考
往Spring的IOC容器中注册添加bean(java对象)的重要性在于:只有我们把这些组件(java对象)加入到Spring的容器中,我们才能使用Spring容器为我们提供的强大功能,比如AOP和声明式事务(我觉得声明式事务其实算是AOP的一个应用)。所以说啊,Spring说白了就是两个内容,IOC和AOP。IOC把我们需要的java对象(组件)管理起来,然后通过AOP机制对这些被管理起来的java对象进行增强。...原创 2020-07-08 16:47:09 · 159 阅读 · 0 评论 -
JDBC Connection will not be managed by Spring
SQL日志出现这种信息的时候,根据其他博客的说法是,这个JDBC连接没有进行事务控制,所以就没有被Spring管理。原创 2020-07-02 11:49:43 · 18268 阅读 · 3 评论 -
Spring的事务管理相关内容
注意,Spring的事务管理功能是通过AOP机制实现的。也就是还是基于动态代理实现的。事务简介•事务管理是企业级应用程序开发中必不可少的技术, 用来确保数据的完整性和一致性. •事务就是一系列的动作, 它们被当做一个单独的工作单元. 这些动作要么全部完成, 要么全部不起作用•事务的四个关键属性(ACID)–原子性(atomicity): 事务是一个原子操作, 由一系列动作组成. 事务的原子性确保动作要么全部完成要么完全不起作用.–一致性(consistency): 一旦所有事务动作.原创 2020-05-23 15:18:13 · 218 阅读 · 0 评论 -
Spring的AOP的XML文件配置方式
用XML配置文件的方式配置AOP的话,一大好处就是切面类是来自Jar包中的,我修改不了源码,自然就不能通过添加注解来配置AOP了。用基于 XML 的配置声明切面•除了使用 AspectJ 注解声明切面, Spring 也支持在 Bean 配置文件中声明切面. 这种声明是通过 aop schema 中的 XML 元素完成的.•正常情况下, 基于注解的声明要优先于基于 XML 的声明. 通过 AspectJ 注解, 切面可以与 AspectJ 兼容, 而基于 XML 的配置则是 Spring 专有的原创 2020-05-21 11:56:55 · 477 阅读 · 0 评论 -
Spring的AOP的注解配置方式
注意,AOP的实现原理没什么特别的,就是动态代理!AOP简介•AOP(Aspect-Oriented Programming, 面向切面编程): 是一种新的方法论, 是对传统 OOP(Object-Oriented Programming, 面向对象编程) 的补充.•AOP 的主要编程对象是切面(aspect), 而切面模块化横切关注点.•在应用 AOP 编程时, 仍然需要定义公共功能, 但可以明确的定义这个功能在哪里, 以什么方式应用, 并且不必修改受影响的类. 这样一来横切关注点..原创 2020-05-20 23:00:04 · 243 阅读 · 0 评论 -
Spring的IOC容器使用方法(配置bean)
因为最近疫情在家,家里又没有相关的书籍,所以只能通过网上的教学视频来学习相关技术。但是,看视频只是快速入门的好方法,并不能做到对技术的深入理解,要深入理解还是要看书。因此,本文就是对于如何使用Spring框架的介绍,说得比较浅显,深入的内容不多。首先,说一下什么是Spring。Spring 是什么•Spring 是一个开源框架.•Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能.•Spring 是一个 IO原创 2020-05-12 18:19:08 · 1080 阅读 · 0 评论