摘要: 对于springAOP的源码分析,我打算分三部分来讲解:1.配置文件的解析,解析为BeanDefination和其他信息然后注册到BeanFactory中;2.为目标对象配置增强行为以及代理对象的生成,可以理解为AOP的准备阶段;3.代理对象调用方法,增强行为的触发执行,此时是AOP生效的阶段。我们 阅读全文
posted @ 2018-06-29 13:43 51life 阅读(4136) 评论(2) 推荐(0) 编辑
摘要: AOP,面向切面编程,它能把与核心业务逻辑无关的散落在各处并且重复的代码给封装起来,降低了模块之间的耦合度,便于维护。具体的应用场景有:日志,权限和事务管理这些方面。可以通过一张图来理解下: Spring AOP可以通过注解和xml配置的方式来实现,下面我们讲解下这两种不同的用法。 1.注解的方式 阅读全文
posted @ 2018-06-26 10:25 51life 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 代理模式定义:为其它对象提供一种代理以控制对这个对象的访问。代理的目的是在目标对象方法的基础上做增强,这种增强的本质是对目标方法做过滤和拦截。比如租房者找房子这件事,租房者给中介1000元中介费,然后中介通过各种方法最终为租房者找到了房子,最后租房者签合同入住。对这个流程进行分析:角色有中介(目标对 阅读全文
posted @ 2018-06-25 15:39 51life 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 1.BeanFactory 对于BeanFactory,它本质上是一个Factory,是一个容器,它是spring中最基本的容器,它的作用是配置,新建,管理各种bean以及它们之间的依赖关系。 看下源码 2.FactoryBean factoryBean,它本质上是一个bean,工厂bean,可以用 阅读全文
posted @ 2018-06-25 09:16 51life 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 在上一篇文章中,我们以BeanFactory这条主线进行IOC的源码解析的,这里,将以ApplicationContext这条线进行分析。先看使用方法: 进入ClassPathXmlApplicationContext类 进入refresh方法 1.解析注册BeanDefination 进入obta 阅读全文
posted @ 2018-06-19 17:06 51life 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 一 继承 spring中多个bean之间的继承关系,和面向对象中的继承关系类似,直接看代码。 先定义一个Person类 然后在beans.xml文件中配置: 在beans.xml中,我们定义了一个name为person的抽象类,它作为一个父类,封装了共有的属性值address="杭州",由于定义了a 阅读全文
posted @ 2018-06-15 13:51 51life 阅读(2746) 评论(0) 推荐(1) 编辑
摘要: 启动spring容器加载bean的方式有两种:最基本的容器BeanFactory和高级容器ApplicationContext。这篇文章介绍使用BeanFactory加载bean时的整个过程,当然,ApplicationContext是基于它进行了高级特性的扩展。 一.BeanFactory的使用方 阅读全文
posted @ 2018-06-14 17:10 51life 阅读(610) 评论(0) 推荐(0) 编辑
摘要: spring初始化bean时执行某些方法完成特定的初始化操作 阅读全文
posted @ 2018-06-11 10:44 51life 阅读(6145) 评论(0) 推荐(1) 编辑