摘要: 核心对象 SqlSessionFactoryBuilder:一次性使用,用来产生工程类 SqlSessionFactory:单例,应用的全局生命周期,一直使用 SqlSession:每次调用mapper方法的时候产生一个 Mapper:和SqlSession一样 TypeHandler 用来做类型转 阅读全文
posted @ 2020-07-07 23:02 挣扎一下 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 为什么有事务传播行为 Spring中,开启事务的常见方法是添加@Transactional注解,通过AOP实现事务管理。 但问题是,我们可能在不同类的多个互相调用的方法上加上这个注解,这样我们开发者对底层事务切面的逻辑就不清楚了。所以Spring定义了事务的传播行为这个东西帮我们解释了这种情况底层会 阅读全文
posted @ 2020-07-05 19:28 挣扎一下 阅读(199) 评论(0) 推荐(0) 编辑
摘要: SpringMVC执行流程 初始化阶段:web应用会初始化前端拦截器DispatcherServlet,初始化的同时会走一遍常规的IOC启动流程,并把九大组件放入到容器中,其中最重要的三个是处理器映射器(handlerMappings)、处理器适配器(handlerAdapter)、视图解析器(Vi 阅读全文
posted @ 2020-07-04 17:17 挣扎一下 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 是否允许循环依赖和bean的命名重复取决于beanfactory的两大属性 allowBeanDefinitionOverriding和allowCircularReferences。 这两个属性未指定时取的是DefaultListableBeanFactory中的默认值,均为true,即默认允许同 阅读全文
posted @ 2020-06-25 22:28 挣扎一下 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 在整合了SpringMVC的应用中,其实存在两个上下文容器,即两个WebApplicationContext,这两个容器是什么关系呢?且看分析。 1、Servlet启动顺序是先调用listener的监听方法,再调用servlet的init()方法。 2、Spring中存在一个ContextLoade 阅读全文
posted @ 2020-06-25 16:34 挣扎一下 阅读(329) 评论(0) 推荐(0) 编辑
摘要: Spring中存在很多注解组合的情况,例如**@RestController** @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Controller @ResponseBody public @i 阅读全文
posted @ 2020-06-23 23:48 挣扎一下 阅读(1363) 评论(0) 推荐(0) 编辑
摘要: ![](https://img2020.cnblogs.com/blog/2024602/202006/2024602-20200622220849059-549160094.png) 阅读全文
posted @ 2020-06-22 22:09 挣扎一下 阅读(599) 评论(0) 推荐(0) 编辑
摘要: 设计模式 总结 类 工厂模式 封装创建过程,只对结果负责 BeanFactory、Calender 单例模式 全局唯一 ApplicationContext、Calender 原型模式 多重影分身之术 ArrayList、PrototypeBean 代理模式 找人办事,增强职责 ProxyFacto 阅读全文
posted @ 2020-06-20 13:59 挣扎一下 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 常用设计模式思维导图,大部分设计模式在spring和jdk源码中都有体现。 在学习spring源码前,有必要花一定时间了解设计模式。 阅读全文
posted @ 2020-06-18 23:57 挣扎一下 阅读(896) 评论(0) 推荐(0) 编辑
摘要: 切面:Aspect 切面=切入点+通知。在老的spring版本中通常用xml配置,现在通常是一个类带上@Aspect注解。切面负责将 横切逻辑(通知) 编织 到指定的连接点中。 目标对象:Target 将要被增强的对象。 连接点:JoinPoint 可以被拦截到的程序执行点,在spring中就是类中 阅读全文
posted @ 2020-06-16 00:18 挣扎一下 阅读(235) 评论(0) 推荐(0) 编辑