官方文档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 添加了下述语法和 ...
随机推荐
- IntelliJ IDEA出现Search for无法退出的问题
说明: 1.这个不是安装了Vim导致的 解决方式: 1.可能是在不正确的系统时间启动的IDEA,然后启动完成后又把时间改成正确的. 2.直接方式是重启. 3.间接方式是修改完时间后再重启一下全部IDE ...
- IntelliJ IDEA删除所有断点
参考: http://blog.csdn.net/yanziit/article/details/73459795
- 2008 SQL SERVER 用户 架构
2008 SQL SERVER 用户: SERVER用户与数据库用户 SERVER 与 数据库用户的映射,以使 登陆用户可访问数据库 架构等同于SCHEM (表空间),即表空间管理对象,建立层次对象关 ...
- Go -- socket read的内容以16进制输出
buf := make([]) reqLen, err := conn.Read(buf) // 遍历, 转为16进制 buffer := new(bytes.Buffer) for _, b := ...
- php程序调试: xdebug的配置
怎样在phpeclipse中像调试Java程序一样调试php呢? XDebug的版本号非常多,打开http://xdebug.org/index.php.把站点细致看一下,你会发现有句"If ...
- C#报错"线程间操作无效: 从不是创建控件“XXX”的线程访问它"--解决示例
C# Winform程序中,使用线程对界面进行更新需要特殊处理,否则会出现异常“线程间操作无效: 从不是创建控件“taskView”的线程访问它.” 在网文“http://www.cnblogs.co ...
- openpyxl的使用记录
脚本功能描述: 读取指定文件夹内的.xlsx文件,遍历提取整理信息保存到另一指定文件夹中 import openpyxl import os import shutil city='城市名' def ...
- HashSet中存方用户自己定义数据类型数据,重写equals方法和hashCode方法
import java.util.Set; import java.util.HashSet; public class SetTest { public static void main(Strin ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料
机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習.深度學習方面不錯的資料,轉載. 原作:https://github.com/ty4z2008 ...
- 介绍一个开源的SIP(VOIP)协议库PJSIP
本文系转载,出处不可考. 假设你对SIP/VoIP技术感兴趣,哪希望你不要错过:),假设你对写出堪称优美的Code感兴趣 ,那么你也不可错过:) 这期间我想分析一下一个实际的协议栈的设计到实现的相关技 ...