Spring框架简介

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Spring框架简介

Spring是⼀个开源框架,框架的主要优势之⼀就是其分层架构,分层架构允许选择使⽤其中⼀个组件,同时为J2EE应⽤程序开发提供集成的框架。Spring由7个定义良好的模块组成,Spring模块构建在核⼼容器之上,核⼼容器定义了创建、配置和管理bean的⽅式

核⼼容器提供spring框架的基本功能。核⼼容器的主要组件时BeanFactory,⼯⼚模式的实现,其使⽤控制反转IOC模式将应⽤程序的配置和依赖性规范与实际的应⽤程序代码分开

Spring上下⽂ spring上下⽂是⼀个配置⽂件,向spring框架提供上下⽂信息。spring上下⽂包括企业服务,例如JNDI EJB 电⼦邮件国际化校验和调度等

Spring AOP 通过配置管理特性,spring AOP模块直接将⾯向⽅⾯的编程功能集成到框架中。该模块为基于spring应⽤程序中的对象提供了事务管理服务

Spring DAO jdbc dao抽象层提供了有意义的异常层次结构,可⽤该结构来管理处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,降低了需要编写的异常代码数量

Spring ORM 框架插⼊了若⼲各ORM框架,提供了ORM的对象关系⼯具,包括JDO HIBERNATE IBATIS

Spring Web web上下⽂模块建⽴在应⽤程序上下⽂模块之上,为基于web应⽤程序提供上下⽂,该模块还简化了处理

多部分请求⼀级将请求参数绑定到域对象的⼯作

Spring MVC 该框架是⼀个全功能的构建web应⽤程序的MVC实现,通过策略接⼝,MVC框架成为⾼度可配置的,MVC容纳⼤量视图技术,包括JSP VELOCITY TILES ITEXT POI

IOC和AOP

控制反转模式的基本概念:不创建对象,但是描述创建它们的⽅式。在代码中不直接与对象和服务连接,但在配置⽂件中描述哪⼀个组件需要哪⼀项服务,容器负责将这些联系在⼀起。在典型IOC场景中,容器创建了所有对象,并设置必要的属性将它们连接在⼀起,决定什么时间调⽤⽅法

类型 1服务需要实现专门的接⼝,通过接⼝,由对象提供这些服务,可以从对象查询依赖

性(例如,需要的附加服务)

类型

2

通过 JavaBean 的属性(例如 setter ⽅法)分配依赖性

类型

3

依赖性以构造函数的形式提供,不以 JavaBean 属性的形式公开

⾯向⽅⾯编程

AOP,允许程序员对横切关注点或横切典型的职责分界线的⾏为(例如⽇志和事务管理)进⾏模块化。可将影响多个类的⾏为封装到可重⽤的模块中。AOP是IOC的补充,它们运⽤模块化⽅式解决复杂问题

IOC容器

Spring设计的核⼼是org.springframework.beans包,与JavaBean组件⼀起使⽤。这个包通常不是由⽤户直接使⽤,⽽是由服务器将其⽤作多数功能的底层中介。下⼀个最⾼抽象是BeanFactory接⼝,它是⼯⼚模式的实现,允许通过名称创建和检索对象,BeanFactory也可以管理对象之间的关系

BeanFactory⽀持两个对象模型

单态提供具有特定名称的对象的共享实例,可以在查询时对其进⾏检索。Singleton是默认也是最常⽤的对象模型,对于⽆状态服务对象很理想

原型确保每次检索都会创建单独的对象。在每个⽤户都需要⾃⼰的对象时,原型模型最适合

bean⼯⼚的概念时Spring作为IOC容器的基础,IOC将处理事情的责任从应⽤程序代码转移到框架

BeanFactory接⼝

BeanFactory是⼀个接⼝,可以针对各种底层存储⽅法实现,最常⽤的BeanFactory定义是XmlBeanFactory,根据xml ⽂件中定义装⼊bean

BeanFactory factory = new XMLBeanFactory(new FileInputStream('xxx.xml'));

在xml⽂件中定义的bean是被消极加载的,在需要bean之前,bean本⾝不会被初始化。要从BeanFactory检索bean,只需调⽤getBean()⽅法,传⼊要检索的bean 名称即可 MyBean mybean = (MyBean) factory.getBean("mybean"); 每个bean的定义都可以是POJO 或FactoryBean

相关文档
最新文档