官方文档Core Technologies - Part 1
首先介绍系列文章内容及Spring Framework官方文档情况。
在这一系列学习中,我阅读的主要资源是5.1.2 Reference Doc.,以及论坛大神的讲解blog。另外,Spring官方也给出了非常详细的API文档,适合较为熟悉的使用者查阅。
Documentation主要包括6部分:Core, Testing, Data Access, Web Reactive, Integration, Language。
本篇文章讲解Core的前一部分。
官方文档:Spring Framework Documentation
https://docs.spring.io/spring...
1.Spring中的IoC容器
1.1.Spring IoC及Beans介绍
Spring Framework的Ioc容器主要由如下两个包构成:org.springframework.beans
以及ogr.springframework.context
。
IoC中的核心接口为BeanFactory
。这一接口提供了配置机制以及一些基本的功能。其中,配置机制允许Spring Framework处理任何类型的对象;具体功能包括实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。Spring提供了一些易用的BeanFactory实现,例如XmlBeanFactory类。该类以XML方式描述组成应用的对象以及对象间依赖关系。
BeanFactory
提供了名为ApplicationContext
的子接口,这一接口保留了BeanFactory的所有内容,并针对企业进行了功能扩展,包括:
- 更好地整合Spring的AOP特征
- 管理消息资源(针对于国际化使用)
- 事件发布
- 为应用层提供特殊情景的支持(例如为web应用开发提供了
WebApplicationContext
)
在接下来的讲解中,主要使用ApplicationContext对Spring的IoC容器进行介绍。
在Spring中,软件中的所有对象都由Spring进行生命周期的管理,这些对象统称为beans。beans以及其间的依赖关系都由容器的配置文件反映。
1.2.容器概览
这里主要以org.springframework.context.ApplicationContext
接口进行容器介绍。
ApplicationContext是Spring容器的描述,它负责对所有的beans进行实例化、配置并建立对象间依赖关系,所有操作从配置文件中读取。配置文件可以使用XML, Java注释或Java code描述,其内容应当包括组成软件的对象以及对象间依赖关系。
Spring提供了一些ApplicationContext
的实现。在开发独立应用时,ClassPathXmlApplication
和FileSystemXmlSystemApplication
的使用较多。这两个类都是基于XML语言对软件进行配置。你也可以使用Xml声明对Java注释和Java code的支持,这样在软件开发中就可以使用多种声明语言进行配置文件的描述了。
在大多数的应用开发中,非常简单的代码就可以创建一个Spring IoC container。例如在web应用情景中,8行左右的格式化的XML声明web.xml
就足够了。另外,Spring提供了“Spring Tool Suite”工具,该工具基于Eclipse对开发环境进行配置,可以帮助开发者更快速地进行配置声明。
在实际的开饭中,开发者将其业务代码(Business Objects, POJOs)注入Spring容器,容器加入配置文件进行配置,之后就可完成系统的整体配置。
1.2.1配置文件
配置文件由对容器管理的bean的定义组成。在xml文件中,使用<beans/>对相关元素进行标注,在<beans/>下一级使用<bean/>标签。
(持续更新)
官方文档Core Technologies - Part 1的更多相关文章
- Spring 4 官方文档学习 Spring与Java EE技术的集成
本部分覆盖了以下内容: Chapter 28, Remoting and web services using Spring -- 使用Spring进行远程和web服务 Chapter 29, Ent ...
- OC-苹果官方文档
苹果官方文档 help>documentation>左边iOS>language>objective>the objective-c programming langua ...
- iOS开发官方文档汇总
程序员的学习过程是无止境的,程序员学习的途径是多样的.可以从视频教程中领悟,也可以从他人的代码中 理解.但当我们专注于某一个平台在开发的时候,对于某个API使用或者功能实现有疑问,通常简单的测试可以让 ...
- Spring 4 官方文档学习(十一)Web MVC 框架之配置Spring MVC
内容列表: 启用MVC Java config 或 MVC XML namespace 修改已提供的配置 类型转换和格式化 校验 拦截器 内容协商 View Controllers View Reso ...
- [dpdk] 读官方文档(1)
前提:已读了这本书<<深入浅出dpdk(朱清河等著)>>. 目标:读官方文档,同时跟着文档进行安装编译等工作. http://dpdk.org/doc/guides/index ...
- spring官方文档中文版
转 http://blog.csdn.net/tangtong1/article/details/51326887 spring官方文档:http://docs.spring.io/spring/do ...
- Swift入门系列--Swift官方文档(2.2)--中文翻译--About Swift 关于Swift
About Swift 关于Swift 官方文档的翻译,仅供参考,本人英语本就不好,边学边翻译,不喜勿喷. Swift is a new programming language for iOS, O ...
- OGR 官方文档
OGR 官方文档 http://www.gdal.org/ogr/index.html The OGR Simple Features Library is a C++ open source lib ...
- ios学习笔记第四天之官方文档总结
start developing ios app today. 官方文档的体系结构为: 各层的主要框架图: objectice-c是动态语言 Objective-C 为 ANSI C 添加了下述语法和 ...
随机推荐
- [原创][SW]TortoiseSVN创建本地版本控制
1. 简介 TortoiseSVN是一个Windows平台下的Subversion用户端软件,以Windows shell extension的方式写成.它是自由软件,以GNU通用公共许可证发布.(f ...
- Eventbus 使用方法和原理分析
对于 Eventbus ,相信很多 Android 小伙伴都用到过. 1.创建事件实体类 所谓的事件实体类,就是传递的事件,一个组件向另一个组件发送的信息可以储存在一个类中,该类就是一个事件,会被 E ...
- Arduino可穿戴教程ArduinoIDE新建编辑源文件
Arduino可穿戴教程ArduinoIDE新建编辑源文件 Arduino IDE新建源文件 Arduino IDE启动后默认就新建了一个源文件,如图2.20所示.新建的源文件名称是以sketch_开 ...
- luogu P2746 [USACO5.3]校园网Network of Schools
题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”).注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学校的列表中. 你要写 ...
- datetimepicker使用总结
datetimepicker使用总结 2019-03-06 16:55:00 使用效果: 官方教程:http://www.bootcss.com/p/bootstrap-datetimepick ...
- PyTorch学习问题记录
Q1:def train() 中的model.train()的作用是什么?为什么要写? A1:class torch.nn.Module中 train(mode=True) Sets the modu ...
- 开源BT磁力搜索引擎收集
基本是利用bt网络中p2p技术实现,开源项目上实现了dht网络的搜索.是学习dht算法的好项目. https://lanmaowz.com/open-dht-spider/ https://githu ...
- SQL SERVER 工具
http://www.cnblogs.com/fygh/archive/2012/04/25/2469563.html
- Objective-C 协议(protocol)二
我们前面提到了OOP的继承,我们说Objective-C不像C++可以有多重继承,Objective-C是单一继承的,如果想要做到一个类别同时拥有多种型别的能力,我们就可以通过协议来实现.Object ...
- LINUX6.5 + MYSQL5.6 + JIRA6.3 + CONFLUENCE5.9
#================MYSQL============================= [root@localhost Desktop]# /sbin/ifup eth0[roo ...