首先介绍系列文章内容及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. Java随机数技巧-新手篇

    package 向家康; import java.util.concurrent.ThreadLocalRandom; public class 练习21 { public static void m ...

  2. paramiko获取远程主机的环境变量

    本文的情况,不同的linux系统版本,表现可能不同. 问题:默认情况下,paramiko在远程主机上执行命令的时候,命令的搜索路径为(/usr/local/bin:/bin:/usr/bin),这样我 ...

  3. maven编译maven-surefire-plugin插件报错

    1.编译错误信息: [INFO] ------------------------------------------------------------------------ [ERROR] Fa ...

  4. [c++菜鸟]《Accelerate C++》读书笔记

    第0章 开始学习C++ 1.<<的行为取决于它的操作数类型,<<会把它的右操作数的字符写到左操作数所指示的流中,他是结果就是它的左操作数. 2.std::endl是一个控制器, ...

  5. 分布式服务框架选型:面对Dubbo,阿里巴巴为什么选择了HSF?

    转载:http://www.sohu.com/a/141490021_268033 阿里巴巴集团内部使用的分布式服务框架 HSF(High Speed Framework,也有人戏称“好舒服”)已经被 ...

  6. Pro Android学习笔记(一三七):Home Screen Widgets(3):配置Activity

    文章转载仅仅能用于非商业性质,且不能带有虚拟货币.积分.注冊等附加条件.转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei. 通过widget定义 ...

  7. 怎样让Eclipse的智能提示像VS一样霸气

    说起来用Eclipse也有一段时间了.相信每个用过的人都知道他的智能提示功能真的是糟糕透了,与VisualStudio2008简直不是一个档次的!我就纳闷了,他为什么不弄好一点呢.今天我实在是忍不住了 ...

  8. iOS开发UI篇—懒载入

    iOS开发UI篇-懒载入 1.懒载入基本 懒载入--也称为延迟载入,即在须要的时候才载入(效率低,占用内存小).所谓懒载入,写的是其get方法. 注意:假设是懒载入的话则一定要注意先推断是否已经有了. ...

  9. 【搞机】9.7英寸iPad Pro 上手开箱(图文)

    前言 话说,去年就一直想买个iPad ,可是苦于iPad air 2 出的太早,立即就要更新了,就没有买. 今年出了9.7英寸的iPad Pro .看到添加了这么多新特性.就按耐不住心情预订了~ 还刻 ...

  10. 转:scanf的用法

    https://blog.csdn.net/u012421456/article/details/18501309 scanf()[通过键盘将数据输入到变量中] 它有两种用法: 用法一: scanf( ...