基于 B/S 架构的 JavaEE 应用中,用户向 MVC 框架的控制器请求,控制器拦截到用户请求后,调用业务处理用户请求。控制器应该如何获得业务逻辑组件?
答案是采用工厂模式,或者服务定位模式,对于采用服务定位器模式,是远程访问的场景。在这种场景下,业务逻辑组件已经在某个容器中运行,并对外提供某种服务。控制器无须理会该业务逻辑的创建,直接调用该服务即可,但在调用之前,必须先找到该服务——这就是服务定位器的概念。经典 JavaEE 应用就是这种结构的应用。
对于轻量级的 JavaEE 应用,工厂模式则是更实际的策略。因为在轻量级 JavaEE 应用中,业务逻辑是 EJB ,通常就是一个 POJO ,业务逻辑组件的生成通常应由工厂负责,而且工厂可以保证该组件的实例只需一个就够了,可以避免重复实例化造成的系统开销。
采用工厂模式,将控制器与业务逻辑组件的实现分离,从而提供更好的解耦。在采用工厂模式的访问策略中,所有的业务逻辑组件的创建由工厂负责,业务逻辑组件的运行也由工厂负责。而控制器只需定位工厂实例即可。
如果系统采用 Spring 框架,则 Spring 成为最大的工厂。Spring 负责业务逻辑组件的创建和生成,并可管理业务逻辑组件的生命周期。可以如此理解:Spring 是个性能非常优秀的工厂,可以生产出所有的实例,从业务逻辑组件,到持久层组件,甚至控制器组件。
那么,控制器如何访问到 Spring 容器中的业务逻辑组件呢?为了让 Action 访问 Spring 的业务逻辑组件,有两种策略:
- Spring 容器负责管理控制器 Action ,并利用依赖注入为控制器注入业务逻辑组件(这种方式可以充分利用 Spring 的 IoC 特性,但需要将配置 Struts2 的控制器即 Action 部署在 Spring 容器中,而 struts.xml 文件中还需要配置一个“伪 Action ”,因此导致配置文件冗余;并且Action 的业务逻辑组件接收容器的注入,将导致代码的可读性降低)。
- 利用 Spring 的自动装配,Action 将会自动从 Spring 容器中获取所需的业务逻辑组件。
相关推荐
**Spring MVC 框架简单实现** Spring MVC 是 Spring 框架的一部分,它是一个用于构建 Web 应用程序的模型-视图-控制器(MVC)架构。在这个简易版框架中,我们将深入理解 Spring MVC 的核心概念和关键组件。 **1. ...
Spring MVC 框架搭建与 Hibernate 整合实例 Spring MVC 框架搭建是 Java Web 开发中的一种常见架构模式,它基于 Model-View-Controller(MVC)模式,使用注解方式来处理请求和响应。下面将详细介绍 Spring MVC 框架...
Java EE互联网轻量级框架整合开发,主要集中在SSM框架的使用上,即Spring MVC、Spring和MyBatis的集成,以及Redis缓存技术的引入。这个主题旨在提高Web应用的开发效率,优化性能,同时降低项目的复杂度。 首先,...
Spring+Spring MVC+MyBatis 框架整合案例 Spring 框架是 Java 平台上的一种开源框架,由 Rod Johnson 和 Juergen Hoellerสอง位开发者创建,于 2004 年首次发布。Spring 框架的主要目标是简化企业级应用程序的...
SSM框架,即Spring、Spring MVC和MyBatis的整合,是Java开发中常见的Web应用框架,用于构建高效、灵活的后端服务。本教程将详细介绍如何配置和搭建这一框架,帮助开发者理解其核心概念和操作流程。 首先,我们要...
总的来说,"spring+spring mvc+mybatis框架整合实现超市货物管理系统"是一个涵盖后端开发基础技能的项目,涉及了JavaEE的多个层面,从Web层的路由处理,到业务逻辑的实现,再到数据库操作,以及用户认证和分页显示等...
在SSM框架中,MyBatis与Spring整合后,可以方便地管理SqlSession,实现事务控制。 3. Spring MVC框架: Spring MVC是Spring框架的一部分,专门用于构建Web应用的MVC架构。它负责接收HTTP请求,调度控制器,处理...
在本教程中,我们将深入探讨如何使用Spring MVC、Spring和Hibernate三大框架进行全注解的整合开发。这个视频教程系列的第11部分,重点可能是建立在前几部分的基础之上,进一步深化对这三个核心技术的理解和实践。 ...
在IT行业中,Spring MVC 和 MyBatis 是两个非常重要的框架,它们分别负责Web应用程序的控制器层和数据访问层。Spring MVC 提供了模型-视图-控制器架构模式的实现,而MyBatis则是一个轻量级的SQL映射框架,用于简化...
这是一个基于Spring MVC、Mybatis和Spring框架实现的个人博客系统,涵盖了Web开发中的后端架构设计、数据库管理和前端展示等多个方面。以下将详细介绍这个系统的关键知识点: **1. Spring MVC** Spring MVC是Spring...
这份文档名为《Java EE 框架整合开发入门到实战——Spring+Spring MVC+MyBatis(微课版)课后习题答案.pdf》,它显然是关于Java EE中流行的三个框架整合使用的教程。这三个框架分别是Spring、Spring MVC和MyBatis,...
Spring MVC 是 Spring 框架的一部分,专门用于构建 Web 应用程序。它遵循模型-视图-控制器(MVC)设计模式,帮助开发者将业务逻辑、用户界面和数据访问分离开来。Spring MVC 提供了诸如请求映射、视图解析、数据绑定...
6. **数据访问**:Spring整合了多种持久化框架,如Hibernate、MyBatis等,通过配置可以实现数据库操作的自动化管理。 7. **AOP**:利用Spring的AOP功能,可以实现事务管理、日志记录等功能。例如,使用`@...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为开发者提供了模型-视图-控制器(MVC)架构,使开发人员能够更好地组织和分离应用程序的业务逻辑、数据处理和用户界面。Spring MVC是Spring框架的一个核心组件,...
Spring MVC 框架与 SSM 框架整合 本实验的目的是掌握 SSM 框架整合方法,并完成成绩管理系统的课程管理模块。本实验将基于 SSM 框架的系统设计方法,使用 Spring MVC 框架进行实现。 一、实验环境搭建 在进行实验...
7. Spring与Struts2整合:Struts2是一个MVC框架,Spring与Struts2的结合可以强化MVC设计模式的实现,通过Spring的IoC(控制反转)和AOP,可以简化Struts2的配置,提升可维护性。 8. Spring与Hibernate整合:...
此外,了解Spring框架整合MyBatis及Spring MVC的细节,对于开发基于Java EE的企业级应用非常关键。Spring MVC负责Web层的请求处理,MyBatis则是持久层框架,能够简化数据库操作。熟练掌握这些框架的整合使用,能够...
在IT行业中,Spring、Spring MVC和Hibernate是三个非常重要的开源框架,它们分别在不同层面上为Java应用提供了强有力的支持。本篇文章将详细讲解这三个框架的基本概念、整合过程以及为何适合初学者。 首先,Spring...
SSM框架,即Spring、Spring MVC和MyBatis的整合,是Java开发中常见的Web应用程序架构。这个框架组合提供了强大的模型-视图-控制器(MVC)架构支持,以及灵活的数据访问层解决方案。下面将详细介绍这三个组件的配置与...
在Spring MVC和Spring整合中,我们可以通过XML配置或Java配置来定义Bean及其依赖关系。例如,我们可以定义一个Service Bean,然后在Controller中通过@Autowired注解自动注入,实现业务逻辑的调用。 最后,Spring ...