基于SSH的移动端图书管理系统的设计与实现外文翻译资料

 2022-05-15 10:05

英语原文共 400 页,剩余内容已隐藏,支付完成后下载完整资料


核心技术

这部分参考文档涵盖了所有那些绝对必要的Spring框架的技术。

其中最重要的是Spring框架的控制反转(IoC)容器。对Spring框架的IoC容器的全面处理,紧跟其后是全面覆盖Spring的面向方面的编程(AOP)技术。

(关于AOP的理解,自己写了篇博文谈 AOP 的通俗理解)

Spring框架有自己的AOP框架,它在概念上很容易理解,而且成功解决了Java企业级应用中AOP需求80%的核心要素。

Spring还提供了与AspectJ(目前是最丰富的 - 在功能方面 - 而且也无疑是Java企业领域最成熟的AOP实现 )的集成。

  • 第3章,IoC容器
  • 第4章,资源
  • 第5章,验证,数据绑定和类型转换
  • 第6章,Spring表达式语言(SpEL)
  • 第7章,使用Spring的面向方面的编程
  • 第8章,Spring AOP API

1 IoC容器

1.1 Spring IoC容器和bean的简介

本章介绍了Spring框架实现的控制反转(IoC)[1]原理。IoC也称为依赖注入(DI)。它是一个过程,对象通过构造函数参数,工厂方法的参数或在对象实例构造或从工厂方法返回后在对象实例上设置的属性来定义它们的依赖关系,即它们一起合作的其他对象。然后容器在创建bean时注入那些依赖。这个过程基本上是相反的,因此称为控制反转(IoC),通过使用类的直接构造或诸如服务定位器模式的机制来控制其依赖性的实例化或位置的bean自身的名称。

org.springframework.beans和org.springframework.context包是Spring Framework的IoC容器的基础。BeanFactory接口提供了一种能够管理任何类型的对象的高级配置机制。ApplicationContext是Bean Factory的子接口。它增加了与Spring的AOP特性的更容易的集成到一起的实现;消息资源处理(用于国际化),事件发布;和应用程序层特定上下文(如WebApplicationContext)以用于Web应用程序。

简而言之,BeanFactory提供了配置框架和基本功能,Application Context添加了更多的企业特定功能。ApplicationContext是BeanFactory的完整超集,并且在本章中专门用于描述Spring的IoC容器。有关使用BeanFactory而不是ApplicationContext的更多信息,请参见第3.16节“BeanFactory”。

在Spring中,构成应用程序主干并由Spring IoC容器管理的对象称为bean。bean是由Spring IoC容器实例化,组装和以其他方式管理的对象。此外,bean只是应用程序中许多对象之一。Bean及其之间的依赖关系被容器所使用的配置元数据所反射 。

1.2 容器概述

接口org.springframework.context.ApplicationContext表示Spring IoC容器,并负责实例化,配置和组合上述bean。容器通过读取配置元数据获取关于要实例化,配置和组合的对象的指令。配置元数据以XML,Java注释或Java代码表示。它允许你表达组成你的应用程序的对象和这些对象之间丰富的相互依赖。

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

在大多数应用场景中,不需要显式用户代码来实例化Spring IoC容器的一个或多个实例。例如,在Web应用程序场景中,应用程序的web.xml文件中的一个简单的样板网站的XML 描述符通常就足够了(请参见第1.15.4节“便捷的 ApplicationContext 实例化 Web 应用程序”)。如果您使用的是Eclipse工具套件Eclipse开发环境,那么只需点击鼠标或敲击即可轻松创建此样板配置。

下图是Spring如何工作的高级视图。您的应用程序类与配置元数据相结合,以便在创建和初始化ApplicationContext之后,您具有完全配置和可执行的系统或应用程序。

1.2.1 配置元数据

如上图所示, Spring IoC容器使用一种形式的配置元数据;此配置元数据表示你作为应用程序开发人员如何告诉 Spring容器如何实例化,配置和组合应用程序中的对象。

配置元数据传统上以简单和直观的 XML格式提供,这是本章的大部分用来传达 Spring IoC容器的关键概念和特性。

基于XML的元数据不是配置元数据唯一允许的形式。 Spring IoC容器本身完全与实际写入配置元数据的格式解耦。现在,许多开发人员为他们的Spring应用程序选择基于Java的配置。

有关在Spring容器中使用其他形式的元数据的信息,请参阅:

·基于注释的配置: Spring 2.5引入了对基于注解的配置元数据的支持。

·基于Java的配置:从 Spring 3.0开始,Spring JavaConfig项目提供的许多功能成为Spring Framework核心的一部分。因此,您可以使用Java而不是XML文件来定义应用程序类外部的bean。要使用这些新功能,请参阅@Configuration,@Bean,@Importand,@DependsOn注释。

Spring配置包括容器必须管理的至少一个,通常多个bean定义。基于XML的配置元数据显示这些bean配置为顶级元素内的元素。Java配置通常在@Configurationclass中使用@Bean注解方法。

这些bean定义对应于组成应用程序的实际对象。通常,您定义服务层对象,数据访问对象(DAO),演示对象(如Struts Action实例),基础结构对象(如Hibernate SessionFactories),JMS队列等。通常,不会在容器中配置细粒度域对象,因为通常由DAO和业务逻辑负责创建和加载域对象。但是,您可以使用Spring与AspectJ的集成来配置在IoC容器控制之外创建的对象。请参阅使用AspectJ通过Spring来依赖注入域对象。

以下示例显示了基于 XML的配置元数据的基本结构:

lt;?xml version='1.0' encoding='UTF-8'?gt;

lt;beans xmlns='http://www.springframework.org/schema/beans'

xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'

xsi:schemaLocation='http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd'gt;

lt;bean id='...' class='...'gt;

lt;!-- collaborators and configuration for this bean go here --gt;

lt;/beangt;

lt;bean id='...' class='...'gt;

lt;!-- collaborators and configuration for this bean go here --gt;

lt;/beangt;

lt;!-- more bean definitions go here --gt;

lt;/beansgt;

id属性是一个字符串,用于标识单个bean定义。class属性定义bean的类型,并使用完全限定的类名。id属性的值指协作对象(即容器内此bean的名称)。在此示例中未显示用于引用协作对象的XML; 有关详细信息,请参阅依赖关系。

1.2.2 实例化容器

实例化Spring IoC容器很简单。提供给一个ApplicationContext构造函数的位置路径实际上是允许容器从各种外部资源(如本地文件系统,从JavaCLASSPATH等)加载配置元数据的资源字符串。

ApplicationContext context =

new ClassPathXmlApplicationContext(new String[] {'services.xml', 'daos.xml'});

在你学习Spring的IoC容器之后,你可能想更多地了解Spring的Resource资源抽象,如第4章,资源*,它提供了从URI语法中定义的位置读取InputStream的方便机制。特别是,Resource路径用于构造应用程序上下文,如第4.7节“应用程序上下文和资源路径”

以下示例显示服务层对象(services.xml)配置文件:

lt;?xml version='1.0' encoding='UTF-8'?gt;

lt;beans xmlns='http://www.springframework.org/schema/beans'

xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'

xsi:schemaLocation='http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd'gt;

lt;!-- services --gt;

lt;bean id='petStore' class='org.springframework.samples.jpetstore.services.PetStoreServiceImpl'gt;

lt;property name='accountDao' ref='accountDao'/gt;

lt;property name='itemDao' ref='itemDao'/gt;

lt;!-- additional collaborators and configuration for this bean go here --gt;

lt;/beangt;

lt;!-- more bean definitions for services go here --gt;

lt;/beansgt;

以下示例显示数据访问对象daos.xml文件:

lt;?xml version='1.0' encoding='UTF-8'?gt;

lt;beans xmlns='http://www.springframework.org/schema/beans'

xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'

xsi:schemaLocation='http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd'gt;

全文共13172字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[12361],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。