第13章 Spring框架的设计理念与设计模式分析
13.1 Spring的骨骼架构
最核心的组件是:Core, Context, Bean。
13.1.1 Spring的设计理念
Spring最核心的组件是Bean组件。Spring解决的最关键的问题:对象之间的依赖关系用配置文件来管理,也就是依赖注入机制。这个依赖注入在IOC容器中管理。
13.1.2 核心组件如何偕同工作
Context组件:就是bean关系的集合,这个关系集合又叫IOC容器。
Core组件: core就是发现,建立和维护每个bean之间关系所需要的一系列工具。
13.2 核心组件详解
13.2.1 Bean组件
Spring bean的创建是典型的工厂模式,顶级接口是Beanfactory。
Bean的定义完整的描述在Spring配置文件<bean/>节点后,在Spring内部,它就转化成BeanDefinition对象。
13.2.2 Context组件
applicationContext是Context的顶级父类,继承了BeanFactory,也继承了ResourceLoader接口,所以可以访问任何外部资源。
ApplicationContext必须要完成以下几件事情。
标识一个应用环境
利用BeanFactory创建对象
保存对象关系表
能捕获各种事件
Context是Spring的ICO容器。
13.2.3 Core组件
13,2,4 Ioc容器如何工作
1 如何创建beanFacotory工厂
2 创建bean
3. IOC容器的扩展点: 就是加入一些用户的操作。 BeanFactorypostProcessor, BeanPostProcessor , InitializaingBean , DisposableBean
4. IOC容器为我所用
13.3 Spring中的AOP的特性详解
13.3.1 动态代理的实现原理
13.3.2 Spring AOP如何实现
13.4 设计模式解析之代理模式
13.4.1 代理模式原理
13.4.2 Spring中代理模式的的实现
13.5 设计模式解析之策略模式
13.5.1 策略模式原理
13.5.2 Spring中策略模式的实现
13.6 总结
第13章 Spring框架的设计理念与设计模式分析的更多相关文章
- 第十三章 Spring框架的设计理念与设计模式分析(待续)
Spring的骨骼架构 核心组件详解 Spring中AOP的特性详解 设计模式解析之代理模式 设计模式解析之策略模式
- Spring 框架的设计理念与设计模式分析
转载地址:https://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/ Spring 作为现在最优秀的框架之一,已被广泛的使用,并 ...
- Spring 框架的设计理念与设计模式分析(山东数漫江湖)
Spring 的骨骼架构 Spring 总共有十几个组件,但是真正核心的组件只有几个,下面是 Spring 框架的总体架构图: 图 1 .Spring 框架的总体架构图 从上图中可以看出 Spring ...
- Spring学习指南-第二章-Spring框架基础(完)
第二章 Spring框架基础 面向接口编程的设计方法 在上一章中,我们看到了一个依赖于其他类的POJO类包含了对其依赖项的具体类的引用.例如,FixedDepositController 类包含 ...
- [转载] 多图详解Spring框架的设计理念与设计模式
转载自http://developer.51cto.com/art/201006/205212_all.htm Spring作为现在最优秀的框架之一,已被广泛的使用,51CTO也曾经针对Spring框 ...
- Spring框架的设计理念
它这种设计策略完全类似于Java实现OOP的设计理念,当然Java本身的设计要比Spring复杂太多太多,但是它们都是构建一个数据结构,然后根据这个数据结构设计它的生存环境,并让它在这个环境中按照一定 ...
- [翻译]Spring框架参考文档(V4.3.3)-第二章Spring框架介绍 2.1 2.2 翻译--2.3待继续
英文链接:http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/overview.ht ...
- 深入理解java:4.2. 框架编程之Spring框架的设计理念
什么是Spring呢? Spring是为了解决企业应用开发的复杂性而创建的一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. Spring优点 简单了解Spring之后,我们看一下Spri ...
- Spring企业级程序设计 • 【第7章 Spring框架整合】
全部章节 >>>> 本章目录 7.1 模型数据解析及控制器返回值 7.1.1 SSM框架环境搭建 7.1.1 ModelAndView多种用法 7.1.2 整合MyBati ...
随机推荐
- [转]HTTP协议通信原理
本文转自<HTTP协议通信原理> 了解HTTP HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则.计算机专家设计出HTTP,使HTTP客 ...
- ubuntu 安装python3.7 以及安装pip3 出现Command '('lsb_release', '-a')' returned non-zero exit status 1问题解决
最近因为电脑重装,东西全没了,总计一下最近重装环境的过程. 如果没有安装包,请下载: wget http://www.python.org/ftp/python/3.7.0/Python-3.7.0. ...
- MVC框架中的值提供机制(三)
在MVC框架中NameValueCollectionValueProvider采用一个NameValueCollection作为数据源,DictionnaryValueProvider的数据源类型自然 ...
- Elasticsearch Painless语言(实现搜索打分基础)
With the release of Elasticsearch 5.x came Painless, Elasticsearch's answer to safe, secure, and per ...
- 微信oauth2验证
微信公众号进行oauth2验证时的要求: 需要两个地方配置: (1) Oauth2验证链接中的appid.redirecturi (2) 微信公众号授权回调页面域名: Appid为公众号的ap ...
- C++函数模版实现
若一个程序的功能是对某种特定的数据类型进行处理,则将所处理的数据类型说明为参数,那么就可以把这个程序改写成为模版,模版可以让程序对任何其他数据类型进行同样方式的处理. 本节主要是说一下C++的函数模版 ...
- svn: E220001: 遇到不可读的路径;拒绝访问。
在客户端试图 svn merge 总是报svn: E220001: 遇到不可读的路径:拒绝访问.这个错误 提示 : SVN 遇到不可读的路径:拒绝访问. 英文是: Unreadable path en ...
- HDU - 5289:Assignment(单调队列||二分+RMQ||二分+线段树)
Tom owns a company and he is the boss. There are n staffs which are numbered from 1 to n in this com ...
- 剑指Offer面试题:6.旋转数组中的最小数字
一 题目:旋转数组中的最小数字 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1, ...
- MyEclipse2014快速配置Spring & Spring Testing, Spring AOP简单使用
1.新建项目 2.右击项目,如图,利用myeclipse自动导入spring 3.在弹出的对话框中一直next到最后,在最后的页面中勾选Spring Testing,完成. 4.在src下的appli ...