本文主要详细介绍了Spring的七个核心模块,具有一定的参考价值。感兴趣的朋友可以参考一下。
Spring的七大核心模块,供你参考。具体情况如下
1.Spring core:核心容器
核心容器提供了spring框架的基本功能。Spring以bean的方式组织和管理Java应用程序中的组件及其关系。Spring BeanFactory用于生成和管理Bean,是工厂模式的实现。BeanFactory使用控制反转(IoC)模式将应用程序配置和依赖规范与实际的应用程序代码分开。BeanFactory通过依赖注入的方式提供组件依赖。主要控制IoC和依赖注入DI的反转,Bean的配置和加载。
2.Spring AOP:Spring中的面向方面编程
通过配置管理特性,Spring AOP模块直接将面向方面的编程功能集成到Spring框架中。因此,很容易使Spring框架管理的任何对象都支持AOP。Spring AOP模块为基于Spring的应用程序中的对象提供事务管理服务。使用Spring AOP,声明式事务管理可以集成到应用程序中,而不依赖于EJB组件。AOP将业务流程分成几个部分,比如权限检查、业务处理和日志记录。每个部分被单独处理,然后它们被组装成一个完整的业务流程。每个部分被称为一个切割或焦点。
AOP的实现原理是动态代理技术,有两种代理模式:
(1)ProxyFactoryBean代理工厂对象
Spring内置了代理类,引入了中间层,可以创建不同类型的对象,可以用它实现任何形式的AOP。
(2)TransactionProxyFactoryBean事务代理工厂对象
Spring常用于数据库编程,使用TransactionProxyFactoryBean来管理事务。在指定方法之前,它使用AOP连接到数据库并启动事务。然后,在指定的方法返回后,它使用AOP提交事务并断开数据库。
3.春天上下文:春天上下文
Spring context是一个配置文件,它向Spring框架提供上下文信息。Spring context包括企业服务,如JNDI、EJB、电子邮件、国际化、校验和调度功能。提供了一种框架Bean访问方式,其他程序可以通过上下文访问Spring的Bean资源。
4、弹簧刀
DAO模块的主要目的是将与持久层相关的问题从一般的业务规则和工作流中隔离出来。Spring中的DAO提供了一致的访问数据库的方式,Spring提供了一致的编程模型,无论采用什么持久化技术。Spring还为不同的持久层技术提供了一致的DAO风格的异常层次结构。Spring DAO模块将JDBC重新打包,隐藏了连接、语句、结果集等JDBC API,使DAO模块直接继承JdbcDaoSupport类。
5.Spring ORM(对象关系映射器)对象关系映射模块
Spring很好地集成了所有主流的ORM框架,包括hibernate、JDO实现、TopLink和IBatis SQL Map等。Spring为所有这些框架提供了模板等辅助类,并且达到了一致的编程风格。
Spring的ORM模块封装了Hibernate等ORM框架。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,那么继承方法不需要改变任何配置文件,只从ActionSupport继承Action,但是会依赖Spring。代理方法需要在struts-config.xml中配置控制器,整个代理都是Spring做的,所以可以使用Spring的各种资源和拦截器。
7、Spring MVC
MVC框架是一个用于构建Web应用程序的全功能MVC实现。通过策略接口,MVC框架变得高度可配置。Spring的MVC框架提供了明确的角色划分:控制器、验证器、命令对象、表单对象和模型对象、分配器、处理器映射和视图解析器。Spring支持多视图技术。
Spring MVC的工作流程:
(1)客户端向DispatcherServlet主控制器发送请求。
(2) DispatcherServlet控制器调用HandlerMapping进行处理。
(3) HandlerMapping负责维护请求和控制器组件之间的对应关系。HandlerMapping根据请求调用相应的控制器组件进行处理。
(4)要执行控制器组件的业务处理,需要访问数据库,可以调用DAO等组件。
(5)在5)控制器业务方法被处理后,它将返回一个ModelAndView对象。该组件封装了模型数据和视图标识。
(6)Servlet主控制器调用ViewResolver组件,根据ModelAndView信息进行处理。定位视图资源并生成视图响应信息。
(7)控制器向用户输出响应信息。
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。