spring5高级编程_Spring 5.2.2 核心技术

今天开始正式进入主题Spring 5.2.2 Core Technologies(核心技术)的内容。

参考手册文档的这一部分涵盖了Spring框架绝对不可或缺的所有技术。其中最重要的是Spring框架的控制反转(IoC,Inversion of Control)容器。对Spring框架的IoC容器进行完全的了解之后,Spring的面向方面编程(AOP,Aspect-Oriented Programming)技术将得到全面的覆盖。Spring框架有自己的AOP框架,它在概念上易于理解,并且成功地解决了Java企业编程中80%的AOP需求。还介绍了Spring与AspectJ的集成(在企业中最成熟的AOP实现)。

一、IOC容器

1、IOC容器和Bean介绍

本章介绍控制反转(IoC)的Spring 实现原理。IoC也认为是依赖注入(DI)。对象通过构造函数参数、方法的参数或从构造方法或返回后在对象实例上设置的属性来定义其依赖关系(即,它们使用的其他对象)。容器然后在创建bean时注入这些依赖项。这个过程其实是bean的逆过程(叫做控制反转),通过类直接构造或类似服务定位模式等机制来控制其依赖项的实例化或实例的位置。

org.springframework.beans和org.springframework.context包是spring的IoC容器的基础。BeanFactory 接口提供了一种高级配置机制,能够管理任何类型的对象。ApplicationContext是BeanFactory的一个子接口。另外:

  • 更容易与Spring的AOP集成

  • 消息资源处理(用于国际化)

  • 事件发布

  • 特定于应用程序层的上下文,如用于web应用程序的WebApplicationContext。

简而言之,BeanFactory提供了配置框架和基本功能,ApplicationContext添加了丰富的企业特定功能。ApplicationContext是BeanFactory的完全实现(superset),在本章中专门用于Spring的IoC容器的描述。有关使用BeanFactory而不是ApplicationContext的更多信息在后续章节中说明,请关注我的公众号。

在Spring中,应用程序主要组成是由Spring IoC容器管理的对象即bean。bean是由Spring IoC容器实例化、组装和管理的对象。否则,bean只是应用程序中许多对象中的一个。bean以及它们之间的依赖关系反映在容器使用的配置元数据中。

2、容器介绍

org.springframework.context.ApplicationContext接口作为SpringIOC容器,负责实例化、配置和组装bean。容器通过读取配置元数据来获取实例化、配置和组装哪些对象的指令。配置元数据以XML、Java注释或Java代码表示。它希望构成应用程序的对象以及这些对象之间相互依赖关系。

Spring提供了ApplicationContext接口的几个实现。在独立应用程序中,通常创建ClassPathXmlApplicationContext或FileSystemXmlApplicationContext的实例。虽然XML是定义配置元数据的传统格式,但是可以通过提供少量的XML配置来声明性地支持这些元数据格式,从而容器使用Java注释或代码作为元数据格式。

在大多数应用程序场景中,不需要特意用代码来实例化一个或多个Spring IoC容器实例。例如,在web应用程序场景中,应用程序的web.XML文件中的一个简单的8行(或大约8行)样板web描述符XML通常就足够了(请参见[上下文创建])。如果使用Spring工具套件(一个Eclipse驱动的开发环境),只需点击几下鼠标或按键,就可以轻松地创建这个样板。

<?xml  version="1.0" encoding="UTF-8"?>                                                  

下图显示了Spring工作原理的视图。应用程序类与配置元数据结合在一起,以便在创建和初始化ApplicationContext之后,您拥有一个完全配置且可执行的系统或应用程序。

26ffdc18c1d8f4c3addcb7851f29d071.png

95422831da93cf123d56408bbfaaa210.png未完待续(请持续关注我的公众号)。

7480d397881d537cdd21a09c106f1e8f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring框架是主要的开源应用程序开发框架,它使得Java/J2EE开发更容易、效率更高。本书不仅向读者展示了Spring能做什么?而且揭示了Spring完成这些功能的原理,解释其功能和动机,以帮助读者使用该框架的所有部分来开发成功的应用程序。本书涵盖Spring的所有特性,并且演示了如何将其构成一个连贯的整体,帮助读者理解Spring方法的基本原理、何时使用Sping以及如何效仿最佳实践。所有这些都以完整的样本应用程序来举例说明。读完本书,读者将能够有效地在各种应用中(从简单的web应用程序到复杂的企业级应用程序)使用Spring。 作者:(美)约翰逊 译者:蒋培 Rod Johnsn是Spring框架的创始人,并且是Java和J2EE领域的著名专家。   Rod获悉民大学博士学位。他具有C/C++开发背景,从Java和J2EE发布以来就作为开发者、休系结构设计者和顾问涉足了Java和J2EE领域。   他撰写了两本最普及并最有影响力的J2EE书籍:《Expert One-on-one J2EE Design and Deuelo Pment》(Wrox,2002),和《J2EE without EJB》(Wrox,2004.与Juergen Hoelle合著)。这两本书在“敏捷J2EE的兴起和心变过度复杂的传统J2EE体系结构方面都起了得要作用。   Rod是Spring框架的共同领导之一。他的发言很受欢迎,并且经常出现在美国、欧洲和亚洲举行的Java重要活动中。了是一些JSR的专家组的成员,为Java社区发展计划(Java Community Process,JCP)EBTL。   他还具有在银行和金融、保险、软件、媒体等领域从事顾问的广泛经验。他是Interface21的CEO,Interface21是一家致力于提供专家级J2EE和Spring框架服务的咨询公司。他各极参与客户项目和Spring开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值