spring的核心模块

📅 发布时间:2026/8/31 4:17:07
spring的核心模块
### Spring的七个核心模块具体内容如下#### 1、Spring core核心容器核心容器提供spring框架的基本功能。Spring以bean的方式组织和管理Java应用中的各个组件及其关系。Spring使用BeanFactory来产生和管理Bean它是工厂模式的实现。BeanFactory使用控制反转(IoC)模式将应用的配置和依赖性规范与实际的应用程序代码分开。BeanFactory使用依赖注入的方式提供给组件依赖。主要实现控制反转IoC和依赖注入DI、Bean配置以及加载。#### 2、Spring AOPSpring面向切面编程通过配置管理特性Spring AOP 模块直接将面向方面的编程功能集成到了Spring框架中。所以可以很容易地使 Spring框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP不用依赖 EJB 组件就可以将声明性事务管理集成到应用程序中。AOP把一个业务流程分成几部分例如权限检查、业务处理、日志记录每个部分单独处理然后把它们组装成完整的业务流程。每个部分被称为切面或关注点。AOP的实现原理为动态代理技术一共有两种代理模式1ProxyFactoryBean代理工厂对象Spring内置代理类引入一个中间层能够创建不同类型的对象利用它可以实现任何形式的AOP。2TransactionProxyFactoryBean事务代理工厂对象常用在数据库编程上Spring利用TransactionProxyFactoryBean对事务进行管理在指定方法前利用AOP连接数据库并开启事务然后在指定方法返回后利用AOP提交事务并断开数据库。#### 3、Spring contextSpring上下文Spring上下文是一个配置文件向Spring框架提供上下文信息。Spring上下文包括企业服务如JNDI、EJB、电子邮件、国际化、校验和调度功能。提供框架式Bean访问方式其他程序可以通过Context访问Spring的Bean资源。#### 4、Spring DAODAO模块主要目的是将持久层相关问题与一般的的业务规则和工作流隔离开来。Spring 中的DAO提供一致的方式访问数据库不管采用何种持久化技术Spring都提供一致的编程模型。Spring还对不同的持久层技术提供一致的DAO方式的异常层次结构。Spring的DAO模块对JDBC进行了再封装隐藏了Connection、Statement、ResultSet等JDBC API使DAO模块直接继承JdbcDaoSupport类。#### 5、Spring ORMObject Relation Mapper对象关系映射模块Spring 与所有的主要的ORM框架都集成的很好包括hibernate、JDO实现、TopLink和IBatis SQL Map等。Spring为所有的这些框架提供了模板之类的辅助类达成了一致的编程风格。 Spring的ORM模块对ORM框架如Hibernate等进行了封装Spring能够管理、维护Hibernate使用时可直接继承HibernateDaoSupport类该类内置一个HibernateTemplate。Hibernate的配置也转移到Spring配置文件中。注ORM是通过使用描述对象和数据库之间映射的元数据ORM框架采用元数据来描述对象–关系映射细节元数据一般采用xml格式并且存放在专门的对象–映射文件中#### 6、Spring Web模块Web模块建立在应用程序上下文模块之上为基于Web的应用程序提供了上下文。Web层使用Web层框架可选的可以是Spring自己的MVC框架或者提供的Web框架如Struts、Webwork、tapestry和jsf。Web模块用于整合Web框架将Web框架也纳入Spring的管理之中。如Spring提供继承方式与代理方式整合Struts继承方式不需要更改任何配置文件只把Action继承自ActionSupport即可但会对Spring产生依赖。代理方式需要在struts-config.xml中配置由Spring全盘代理因此可以使用Spring的各种资源、拦截器等。#### 7、Spring MVCMVC框架是一个全功能的构建Web应用程序的MVC实现。通过策略接口MVC框架变成为高度可配置的。Spring的MVC框架提供清晰的角色划分控制器、验证器、命令对象、表单对象和模型对象、分发器、处理器映射和视图解析器。Spring支持多种视图技术。#### Spring MVC 的工作流程1 客户端发送请求请求到达 DispatcherServlet 主控制器。 2 DispatcherServlet 控制器调用 HandlerMapping 处理。 3 HandlerMapping 负责维护请求和 Controller 组件对应关系。 HandlerMapping 根据请求调用对应的 Controller 组件处理。 4 执行 Controller 组件的业务处理需要访问数据库可以调用 DAO 等组件。 5Controller 业务方法处理完毕后会返回一个 ModelAndView 对象。该组件封装了模型数据和视图标识。 6Servlet 主控制器调用 ViewResolver 组件根据 ModelAndView 信息处理。定位视图资源生成视图响应信息。 7控制器将响应信息给用户输出。