
SSM
文章平均质量分 73
SSM
alone_yue
后端开发 算法 爱好健身打球游泳
展开
-
【Spring】Spring中实现单例模式
文章目录1.spring中的单例是通过单例注册表实现的2.实战演示3.Spring怎么实现单例模式1.spring中的单例是通过单例注册表实现的原文链接在Spring中,bean可以被定义为两种模式:prototype(多例)和singleton(单例),默认单例模式。singleton(单例):只有一个共享的实例存在,所有对这个bean的请求都会返回这个唯一的实例。prototype(多例):对这个bean的每次请求都会创建一个新的bean实例,类似于new。2.实战演示代码详见上一篇文章原创 2022-03-21 17:06:06 · 2049 阅读 · 0 评论 -
【Spring】Spring AOP 源码分析-拦截器链的执行过程(四)
文章目录1.简介2.背景知识3.源码分析3.1 JDK 动态代理逻辑分析3.2 获取所有的拦截器3.3 启动拦截器链3.3.1 执行拦截器链3.3.2 执行目标方法4.总结1.简介原文链接本篇文章是 AOP 源码分析系列文章的最后一篇文章,在前面的两篇文章中,我分别介绍了 Spring AOP 是如何为目标 bean 筛选合适的通知器,以及如何创建代理对象的过程。现在我们的得到了 bean 的代理对象,且通知也以合适的方式插在了目标方法的前后。接下来要做的事情,就是执行通知逻辑了。通知可能在目标方法前原创 2021-12-13 20:50:54 · 856 阅读 · 2 评论 -
【Spring】Spring AOP 源码分析-创建代理对象(三)
文章目录1.简介2.背景知识2.1 proxy-target-class2.2 动态代理2.2.1 基于 JDK 的动态代理2.2.2 基于 CGLIB 的动态代理3.源码分析4.总结1.简介原文链接在上一篇文章中,我分析了 Spring 是如何为目标 bean 筛选合适的通知器的。现在通知器选好了,接下来就要通过代理的方式将通知器(Advisor)所持有的通知(Advice)织入到 bean 的某些方法前后。与筛选合适的通知器相比,创建代理对象的过程则要简单不少,本文所分析的源码不过100行,相对比原创 2021-12-13 19:22:39 · 679 阅读 · 1 评论 -
【Spring】Spring AOP 源码分析-筛选合适的通知器(二)
文章目录1.简介2.源码分析2.1 AOP 入口分析2.2 筛选合适的通知器2.2.1 查找通知器2.2.1.1 findCandidateAdvisors 方法分析2.2.1.2 buildAspectJAdvisors 方法分析2.2.1.3 AspectJMethodBeforeAdvice 分析2.2.2 筛选合适的通知器2.2.3 拓展筛选出通知器列表3.总结1.简介从本篇文章开始,我将会对 Spring AOP 部分的源码进行分析。本文是 Spring AOP 源码分析系列文章的第二篇,本文原创 2021-12-13 19:01:43 · 665 阅读 · 1 评论 -
【Spring】Spring AOP源码分析-导读(一)
文章目录1.简介2.AOP 原理3.AOP 术语及相应的实现3.1 连接点 - Joinpoint3.2 切点 - Pointcut3.3 通知 - Advice3.4 切面 - Aspect3.5 织入 - Weaving4.总结1.简介Spring AOP 源码分析系列文章导读1.在本系列文章中,我将会分析 Spring AOP 是如何为 bean 筛选合适的通知器(Advisor),以及代理对象生成的过程。除此之外,还会对拦截器的调用过程进行分析。与前面的文章一样,本系列文章不会对 AOP 的原创 2021-11-29 15:15:10 · 376 阅读 · 1 评论 -
【Spring】Spring源码剖析AOP
文章目录(一)AOP简介1.概念2.特点(二)动态AOP使用示例-动态AOP自定义标签1.时序图2.流程说明(三)创建AOP代理1.时序图2.流程说明3.AOP动态代理执行(1)Spring JDK动态代理实现Spring CGLIB动态代理实现https://blog.youkuaiyun.com/fighterandknight/article/details/51209822如果对AOP的概念以及spring的xml的解析,标签的解析,注解实现,还有java的代理,这些知识没有好好的理解的话也不可能对AOP原创 2021-11-29 14:45:23 · 152 阅读 · 1 评论 -
【Spring】Spring4和5的aop顺序变化总结
文章目录Spring4和5的aop顺序变化总结Spring4和5的aop顺序变化总结原创 2021-11-23 16:22:04 · 337 阅读 · 1 评论 -
【Spring】@Autowired和@Resouce的区别
文章目录**前言****1\. @Autowired的默认装配****2\. 相同类型的对象不只一个时****3\. @Qualifier和@Primary****4\. @Autowired的使用范围****4.1 成员变量****4.2 构造器****4.3 方法****4.4 参数****4.5 注解****5\. @Autowired的高端玩法****6\. @Autowired一定能装配成功?****6.1 没有加@Service注解****6.2 注入Filter或Listener****6.3原创 2021-11-08 16:04:59 · 531 阅读 · 0 评论 -
【MyBatis】MyBatis中#{}与¥{}的区别
文章目录mybatis中#{}与¥{}的区别mybatis中#{}与¥{}的区别#{} 是预编译处理,像传进来的数据会加个" "(#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号)与JDBC一样创建prearedStatement参数占位符并安全设置参数(就像使用 ? 一样),安全迅速,转义字符,不会有SQL注入问题1.${} 就是字符串替换。直接替换掉占位符。$方式一般用于传入数据库对象或固定变量,例如传入表名,例如字段名2.使用 ${} 的话会导致 sql 注入。什么是 SQ原创 2021-11-08 15:20:49 · 3161 阅读 · 0 评论 -
【SSM整合】关于异常处理的讨论
文章目录问题描述分情况讨论情况一:情况二:1.2.问题描述在service层中我们把工作交给dao层,比如:1.adminMapper.insert(admin);2.List< Admin> list = adminMapper.selectByExample(adminExample);这时问题来了:当我们把任务交给adminMapper时,因为AdminMapper的实现类我们没有写交给了框架,所以其中的操作我们无法干预,如果抛异常了我们无法直接定义异常类,并利用spring原创 2021-08-23 10:57:15 · 334 阅读 · 0 评论 -
【MyBatis】基于Maven的MyBatis逆向工程(待补充)
执行逆向生成操作的Maven命令原创 2021-08-08 11:04:25 · 139 阅读 · 0 评论 -
【SpringMVC】SpringMVC深入内部对象分析执行流程(待整理)
springmvc内部请求的处理流程: 也就是springmvc接收请求,到处理完成的过程1.用户发起请求some.do2.DispatcherServlet接收请求some.do,把请求转交给处理器映射器处理器映射器:springmvc框架中的一种对象, 框架把实现了HandlerMapping接口的类都叫做映射器(多个)处理器映射器作用:根据请求,从springmvc容器对象中获取处理器对象( MyController controller = ctx . getBean (" some.d原创 2021-08-05 18:24:51 · 167 阅读 · 0 评论 -
【MyBatis】maven中 xml配置文件没有编译到target目录下
问题描述maven中 mybatis框架 xml配置文件没有编译到target目录下解决方案1. resources文件夹设置为Test Resources Root2. pom文件build标签加入resources标签<resources> <resource> <directory>src/main/java</directory><!--所在的目录--> <includes原创 2021-07-31 10:04:12 · 2663 阅读 · 2 评论 -
【MyBatis】sql mapper文件中标签的id等爆红 cannot resolve symbol “XXX“
问题描述sql mapper文件中标签的id等爆红 cannot resolve symbol “XXX” 但不影响整个Maven工程的编译运行解决方案这有一篇类似的解决 但是是删除MybatisX插件可是我根本没有这个插件https://blog.youkuaiyun.com/m0_38050722/article/details/104990868所以没找到方法暂时 等待解决...原创 2021-08-02 09:16:13 · 2856 阅读 · 0 评论 -
【SSM整合】Error creating bean with name ‘org.springframework.web.servlet.mvc.method.annotation.Request‘
错误描述Error creating bean with name ‘org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter解决方案spring5开始对jackkson要求必须2.9.0以上,只需要修改pom文件,改为2.9.8即可<dependency> <groupId>com.fasterxml.jackson.core</gro原创 2021-08-02 22:05:10 · 447 阅读 · 0 评论 -
【MyBatis】MyBatis是封装了jdbc操作
sql mapper文件的标签书写<select id="selectStudentById" parameterType="int" resultType="com.bjpowernode.domain.Student"> select id,name, email,age from student where id=${studentId}</select>MyBatis是封装了jdbc操作使用#{}之后, mybatis执行sql是使用的jdbc中的P原创 2021-08-01 10:02:20 · 1042 阅读 · 0 评论