首先介绍系列文章内容及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的实现。在开发独立应用时,ClassPathXmlApplicationFileSystemXmlSystemApplication的使用较多。这两个类都是基于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的更多相关文章

  1. Spring 4 官方文档学习 Spring与Java EE技术的集成

    本部分覆盖了以下内容: Chapter 28, Remoting and web services using Spring -- 使用Spring进行远程和web服务 Chapter 29, Ent ...

  2. OC-苹果官方文档

    苹果官方文档 help>documentation>左边iOS>language>objective>the objective-c programming langua ...

  3. iOS开发官方文档汇总

    程序员的学习过程是无止境的,程序员学习的途径是多样的.可以从视频教程中领悟,也可以从他人的代码中 理解.但当我们专注于某一个平台在开发的时候,对于某个API使用或者功能实现有疑问,通常简单的测试可以让 ...

  4. Spring 4 官方文档学习(十一)Web MVC 框架之配置Spring MVC

    内容列表: 启用MVC Java config 或 MVC XML namespace 修改已提供的配置 类型转换和格式化 校验 拦截器 内容协商 View Controllers View Reso ...

  5. [dpdk] 读官方文档(1)

    前提:已读了这本书<<深入浅出dpdk(朱清河等著)>>. 目标:读官方文档,同时跟着文档进行安装编译等工作. http://dpdk.org/doc/guides/index ...

  6. spring官方文档中文版

    转 http://blog.csdn.net/tangtong1/article/details/51326887 spring官方文档:http://docs.spring.io/spring/do ...

  7. Swift入门系列--Swift官方文档(2.2)--中文翻译--About Swift 关于Swift

    About Swift 关于Swift 官方文档的翻译,仅供参考,本人英语本就不好,边学边翻译,不喜勿喷. Swift is a new programming language for iOS, O ...

  8. OGR 官方文档

    OGR 官方文档 http://www.gdal.org/ogr/index.html The OGR Simple Features Library is a C++ open source lib ...

  9. ios学习笔记第四天之官方文档总结

    start developing ios app today. 官方文档的体系结构为: 各层的主要框架图: objectice-c是动态语言 Objective-C 为 ANSI C 添加了下述语法和 ...

随机推荐

  1. html --- rem

    // rem (function(doc, win) {       var docEle = doc.documentElement,         evt = "onorientati ...

  2. Nginx日志参数、location匹配规则、设置密码

    1.三个参数 a)$http_referer:记录此次请求是从哪个链接访问过来的: 是直接访问,还是从其他网站跳转过来的. 例如:访问:http://www.etiantian.com/,其页面首页是 ...

  3. PE 512 Sums of totients of powers

    可以很简单的发现,当n是奇数的时候,f(n)=φ(n),否则f(n)=0. 所以我们就是求n<=5*10^8且n为奇数的φ的和. 首先我们可以做到用杜教筛算出φ的前缀和,但是如何把偶数的减去? ...

  4. PyTorch学习笔记之nn的简单实例

    method 1 import torch from torch.autograd import Variable N, D_in, H, D_out = 64, 1000, 100, 10 x = ...

  5. maven打包自动配置数据库链接信息

    pom.xml加入下面代码 <profiles> <profile> <id>dev</id> <activation> <activ ...

  6. Android---简单的动画

  7. 和菜鸟们一起攻克金盾2018SS加密视频

    今天刚拿到金盾2018SS加密的视频,界面如下:<ignore_js_op> 机器码由源来的“00000-00000-00000-00000”变成了一串32位的字符串了:<ignor ...

  8. hdu5340 Three Palindromes(manacher算法)

    题目描写叙述: 推断能否将字符串S分成三段非空回文串. 解题思路: 源码: #include <cstdio> #include <algorithm> #define MAX ...

  9. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps Office的JavaScript对象模型

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps  Office的JavaScript对象模型         ...

  10. JobConf

    /**  * A map/reduce job configuration. * 翻译:一个map/reduce作业配置 * <p><code>JobConf</code ...