源码分析
新人新世界
这个作者很懒,什么都没留下…
展开
-
IOC容器的高级特性
1.通过前面4节对Spring IoC容器的源码分析,我们已经基本上了解了Spring IoC容器对Bean定义资源的定位、读入和解析过程,同时也清楚了当用户通过getBean方法向IoC容器获取被管理的Bean时,IoC容器对Bean进行的初始化和依赖注入过程,这些是Spring IoC容器的基本功能特性。Spring IoC容器还有一些高级特性,如使用lazy-init属性对Bean预初始化、...转载 2018-10-07 21:42:33 · 474 阅读 · 0 评论 -
netty深度解析二
关于 Reactor 的线程模型首先我们来看一下 Reactor 的线程模型.Reactor 的线程模型有三种: 单线程模型 多线程模型 主从多线程模型 首先来看一下 单线程模型:所谓单线程, 即 acceptor 处理和 handler 处理都在一个线程中处理. 这个模型的坏处显而易见: 当其中某个 handler 阻塞时, 会导致其他所有的 clie...转载 2019-01-27 22:50:59 · 152 阅读 · 0 评论 -
Mybatis 思维导图
原创 2018-11-15 09:51:36 · 366 阅读 · 0 评论 -
mybatis-执行
mybatis通过mapper调用接口方法,mapper调用动态代理对象执行方法TestMapper testMapper = sqlSession.getMapper(TestMapper.class);Test test2 = testMapper.selectByPrimaryKey(2);@Override public Object invoke(Object prox...原创 2018-11-14 17:43:53 · 83 阅读 · 0 评论 -
Mybatis 源码分析初始化
Mybatis使用时通过sqlsessionFactory获取一个sqlsession,而sqlsessionFactory是通过SqlSessionFactoryBuilder来构建一个sqlsessionFactory,通过传入的参数来构建。使用建造者模式,InputStream configFile = new FileInputStream( "zjx...原创 2018-11-14 11:01:42 · 189 阅读 · 0 评论 -
Spring 事务原理详解
事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。特点事务是恢复和并发控制的基本单位。事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。一致性(consistency)。事务必须是使数据库从一个一致性状态...转载 2018-10-31 00:25:25 · 359 阅读 · 0 评论 -
Spring总结
1、Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费劲,因为Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式...转载 2018-10-26 00:41:58 · 73 阅读 · 0 评论 -
Spring MVC 源码解析
Spring MVC源码分析: ①:DispatcherServlet是springmvc中的前端控制器(front controller),负责接收request并将request转发给对应的处理组件. ②:HanlerMapping是springmvc中完成url到controller映射的组件.DispatcherServlet接收request,然后从HandlerMappi...转载 2018-10-22 23:48:25 · 129 阅读 · 0 评论 -
Spring JDBC
使用Spring进行基本的JDBC访问数据库有多种选择。Spring至少提供了三种不同的工作模式:JdbcTemplate, 一个在Spring2.5中新提供的SimpleJdbc类能够更好的处理数据库元数据; 还有一种称之为RDBMS Object的风格的面向对象封装方式, 有点类似于JDO的查询设计。 我们在这里简要列举你采取某一种工作方式的主要理由. 不过请注意, 即使你选择了其中的一种工作...转载 2018-10-17 17:06:30 · 151 阅读 · 0 评论 -
springAOP 设计原理与具体实践
AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向切面编程。可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现。我们现在做的一些非业务,如:日志、事务、安全等都会写在业务代码中(也即是说...转载 2018-10-17 15:57:44 · 146 阅读 · 0 评论 -
spring源码思维导图
原创 2018-10-19 15:05:28 · 1611 阅读 · 2 评论 -
IOC依赖注入
5.4、IOC容器的依赖注入1、依赖注入发生的时间当Spring IOC容器完成了Bean定义资源的定位、载入和解析注册以后,IOC容器已经管理类Bean定义的相关数据,但是此时IOC容器还没有对所管理的Bean进行依赖注入。依赖注入在以下两种情况发生:(1)用户第一次通过getBean方法向IOC容器索要Bean时,IOC容器触发依赖注入。(2)当用户在Bean定义资源中为<...翻译 2018-09-28 23:56:31 · 408 阅读 · 0 评论 -
四、spring源码解读初始化
4.1、什么是IOC/DI?IOC(Inversion of Control)控制反转:所谓控制反转,就是把原先我们代码里面需要实现对象创建、依赖的代码,反转给容器来帮忙实现。那么必然的我们需要创建一个容器,同时需要一种描述来让容器知道需要创建的对象与对象的关系。这描述最具体的表现就是我们可配置的文件。 DI(Dependency Injection)依赖注入:就是指对象是被动接受依...翻译 2018-09-28 23:39:02 · 326 阅读 · 0 评论 -
netty深度解析三
在分析客户端的代码时, 我们已经对 Bootstrap 启动 Netty 有了一个大致的认识, 那么接下来分析服务器端时, 就会相对简单一些了.首先还是来看一下服务器端的启动代码:public final class EchoServer { static final boolean SSL = System.getProperty("ssl") != null; sta...转载 2019-01-28 00:11:04 · 216 阅读 · 0 评论