spring框架
文章平均质量分 86
Moon_xuan
To the Moon.
展开
-
Mybatis的一级缓存与二级缓存
1.mybatis一级缓存源码分析 1.1.为什么要有一级缓存 每当我们使用Mybatis开启一次和数据库的会话,就会创建一个SqlSession对象来表示这个会话。就在这一次会话汇总,我们有可能反复执行完全相同的查询语句,这些相同的查询语句在没有执行过更新的情况下返回的结果是一致的。如果每次都去和数据库进行交互查询的话,就会造成资源浪费。所以,mybatis加入了一级缓存,用来在一次会话中缓存查询结果。 总结下一级缓存的存在起到的作用:在同一个会话里面,多次执行相同的sql语句(statementId,参转载 2021-12-16 15:07:04 · 206 阅读 · 0 评论 -
Spring AOP实现原理
Spring AOP实现原理 这里整理了一下AOP实现的几种方式,同时将代理模式也整理了一下。 代理模式 代理模式模型如下: 代理类实现了被代理类的接口,同时与被代理类是组合关系。下来看一下代理模式的实现。 静态代理 接口类: public interface Person { void speak(); } 真实实体类: public class Actor implements Person{ @Override public void speak() {原创 2021-12-09 19:45:00 · 210 阅读 · 0 评论 -
自实现Spring IOC和AOP(下)
1.概述 上文实现的IOC和AOP功能很单一,且IOC和AOP两个模块没有整合到一起。IOC在加载bean过程中,AOP不能对bean织入通知。升级版IOC和AOP的功能: 1.根据xml配置文件加载相关bean 2.对BeanPostProcessor类型的bean提供支持 3.对BeanFactoryAware类型的bean提供支持 4.实现了基于JDK动态代理的AOP 5.整合了IOC和AOP,使得二者可很好的协同工作 2.IOC的实现 2.1.BeanFactory的生命流程 1.BeanFacto转载 2021-12-08 21:00:40 · 138 阅读 · 0 评论 -
自实现Spring IOC和AOP(上)
1.简单的IOC和AOP实现 1.1.简单的IOC 最简单的IOC容器只需4步即可实现,如下: 1.加载xml配置文件,遍历其中的标签 2.获取标签中的id和class属性,加载class属性对应的类,并创建bean 3.遍历标签中的标签,获取属性值,并将属性值填充到bean中 4.将bean注册到bean容器中 代码结构 SimpleIOC // IOC的实现类,实现了上面所说的4个步骤 SimpleIOCTest // IOC的测试类 Car // IOC 测试使用的bean Wheel // 同上 i转载 2021-12-08 20:09:30 · 114 阅读 · 0 评论 -
SSM整理。
1.Mybatis 1.1事务 凡是涉及查询操作的不需要事务提交,更新操作需要手动事务提交。 mybatis中的事务默认是关闭的。可以选择session.commit()或者factory .openSession()时,指定autoCommit为true 1.2连接池 mybatis连接池提供了3种方式的配置: 配置的位置: 主配置文件SqlMapConfig.xml中的dataSource标签,type属性就是表示采用何种连接池方式。 type属性的取值: POOLED 采用传统的javax.sql原创 2021-08-09 20:31:39 · 110 阅读 · 0 评论