1. Spring MVC简介
Spring MVC是java EE平台请求驱动类型的轻量级Web框架,使用了MVC设计模式的思想,spring框架的主要优势之一就是分层架构,分层架构允许选择使用任何一个组件,同时也可以集成其它框架技术,例如:Struts2、Hibernate等
Spring框架具有以下特点:
1. 方便解耦,简化开发。通过spring3提供的IoC容器,可以将对象之间的依赖关系交由Spring3控制,避免编码所造成的程序过度耦合
2. AOP编程的支持。通过Spring3提供的AOP功能,方便进行面向切面编程,许多不容易使用面向对象程序设计(OOP)实现的功能可以通过AOP轻松实现
3. 声明式事务的支持。通过声明方式灵活地进行事务管理,提高开发效率和质量
4. 方便集成各种优秀框架。
Spring框架各个组件的功能:
1. 核心容器
核心容器提供Spring3框架基本的功能。核心容器的主要组件是BeanFactory和ApplicationContext。容器使用控制反转(IoC)模式将应用程序的配置和依赖性规范和实际的应用程序代码分开。
2. Spring上下文
Spring上下文是一个配置文件,向Spring框架提供上下文信息。Spring上下文包括企业服务,例如,校验、JNDI、EJB、电子邮件、国际化等
3. Spring AOP
通过配置管理特性,Spring AOP模块直接将面向切面的编程功能集成到Spring框架中,pring AOP模块提供了事务管理服务。
4. Spring DAO
JDBC DAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。
5. Spring ORM
Spring插入了若干个ORM框架,从而提供了ORM的工具,其中包括JDO、Hibernate、iBatisSQL Map。
2. Spring IoC(控制反转)
IoC是Inversion of Control的缩写,就是通过IoC容器来实现对象组件的装配和管理。也就是说,所有组件都是被动的,所有的组件初始化和调用都由IoC容器负责。
Spring IoC经常用到一个设计模式——工厂模式,工厂模式提供创建对象的接口。
Spring框架两个最基本的包是:org.springframework.beans.factory(主要接口是BeanFactory)和org.springframework.context(主要接口是ApplicationFactory)
IoC主要组件:
1. Beans
Beans指项目中提供业务功能Bean,即IoC容器要管理的Bean,Bean可以包含一些属性的getter和setter方法,也可以包含其他方法
2. 配置文件
Spring对Bean的管理在配置文件中进行.Bean的配置文件是一个xml文件,他通常命名为beans.xml、applicationContext.xml等,配置文件包含Bean的id、类、属性及其值。IoC容器通过Bean的id从Bean配置文件中取得Bean的类,并生成该配置文件的一个对象。
3. BeanFactory接口及其相关类
BeanFactory采用了工厂设计模式,即Bean容器模式,负责读取Bean的配置文件,管理对象的生成、加载,维护对象之间的依赖关系,负责Bean对象的生命周期。
org.springframework.beans.factory.BeanFactory是一个顶级接口,它包含管理Bean的各种方法,例如:getBean(String name),,根据Bean的id生成Bean的对象
4. ApplicationContext接口及其相关类
ApplicationContext接口提供高级功能的容器,例如:提供访问资源文件的更方便的方法,支持国际化等
注入的两种方式:
1. 设置注入
设置注入是通过setter方法注入被调用者的实例
2.构造注入
利用构造方法来设置依赖注入