运用spring mvc框架进行快速的开源J2EE应用程序开发:案例研究Word文档下载推荐.docx
《运用spring mvc框架进行快速的开源J2EE应用程序开发:案例研究Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《运用spring mvc框架进行快速的开源J2EE应用程序开发:案例研究Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。
![运用spring mvc框架进行快速的开源J2EE应用程序开发:案例研究Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-10/8/3aaf3984-6080-4623-8839-438edd45427e/3aaf3984-6080-4623-8839-438edd45427e1.gif)
摘要—当今,web应用程序的开发竞争非常激烈,时代要求开发出的应用程序非常准确、经济和高效。
人们致力于开发出能提高生产效率和降低复杂性的应用程序,转变程序员开发java2平台企业版的web应用程序的方法已经成为一个基本的运动。
本文中我们讨论的重点是怎样开发出j2ee兼容的软件而无需使用企业javabean(EJB)。
最好的选择之一就是运用spring框架, spring框架提供了许多服务,但是相比于EJB,它的侵入性大大降低了。
这种转变背后的驱动力是web应用程序开发和实施领域提高生产率和降低复杂性的需要。
本文中,我们将简要介绍spring的基本体系结构并且给出一个运用了springmvc框架的案例研究实例。
关键词:
mvc,spring,xml
Ⅰ、简介
现今,网络问题是非常复杂的。
由于公司和组织的需求都在不断的增加,应用程序开发的复杂性和系统性能是需要解决的主要问题。
不同类型的通讯设备的复杂性在不断增加,而业务要求应用程序使用网络和许多通讯设备,并且互联网上数据负载不断的增加,这些迫使我们不得不考虑起应用程序的体系架构问题。
现在,让我们讨论在保持应用程序模型视图结构不变的情况下,springwebmvc快速应用程序开发框架是如何快速工作的。
Spring框架具有丰富的功能集,我们将简要讨论这些功能。
1.控制反转:
控制反转,即IOC。
它是有线服务或者将组件添加到应用程序所使用的技术之一。
IOC是“一种软件设计模式和相关的编程技术集”,与传统的交互模式相比,运用IOC后,系统的控制流是反向的。
在IOC容器内不是应用程序调用框架而是框架调用应用程序指定的组件。
IOC可以被解释为“把运行时所需要的资源或者依赖注入到相关的资源中去”,这也被称为依赖注入。
org.springframework.beans.factory.BeanFactory是springIOC容器的实际表现,它是负责控制和管理bean的。
BeanFactory接口是springIOC容器的主要接口。
Bean就是由springIOC容器实例化和管理的对象。
这些bean和他们之间的依赖关系反应在容器所使用的配置元数据中。
8
2.构造函数依赖注入:
我们可以使用java类的构造函数来加载bean的值。
首先定义一个只有单一构造函数的类,然后使用details.xml文件提供构造函数所需要的值,最后用一个实现了beanfactory接口方法的类来加载xml文件。
这是使用
xml文件把值加载到java文件的构造函数中,这种方法适用于向构造函数传递值。
3.Setter依赖注入:
给每一个bean定义其get和set方法。
我们可以利用set方法在设定bean中的值。
Set方法会覆盖掉从bean中加载的值。
4.接口:
我们可以在spring中定义接口类。
为了实现这一点,必须为java程序导入接口,然后我们可以利用接口中定义的方法来使用spring和xml文件。
5.继承:
一个java类可以获得另一个java类的属性,就像只有一个java程序一样。
继承有三种子类型:
1)抽象型:
spring中定义成抽象类的bean只能被继承。
2)父子型:
定义的的继承层次结构想父子关系一样。
3)父-子–孙子型:
这种类型的继承关系可以定义3个或者更多的类层次结构。
6.自动装配:
自动装配用于将xml文件中属性的键和值映射到java文件中去。
有4种装配的类型:
byName(通过名字)、byType(通过类型)、constructor(通过构造函数)、autodetect(自动检测)。
如果没有定义装配的类型,那么默认是以通过名字的方式来装配的。
7.Bean的作用域:
spring中定义的所有bean有四种类型的作用域,即
session,request,singleton,global-session。
这些是用来控制bean的访问范围的。
8.引用bean:
在xml文件中的一个bean可以从其他的bean分配值。
这尝尝用于从一个bean中读取值然后再分配给另一个bean。
Ⅱ、spring的主要组件
Spring框架依然遵循mvc的思想原则。
它是为桌面应用和基于互联网的应用而设计的。
Spring由三个相互协作的核心组件组成。
1、控制器:
处理业务逻辑中的跳转逻辑和同服务层的交互。
2、模型:
控制器和视图之间的桥梁,包含着控制器给予视图所需要的数据。
3、视图:
呈现请求后的响应,从模型中提取数据。
Spring的核心组件如下所示:
1.DispatcherServlet:
它是spring的前端控制器的实现。
Web.xml接收请求并且把它转移到DispatcherServlet,DispatcherServlet是与请求进行交互的第一个控制器,它也被称为Servlet的执行。
它控制着应用程序的完整流和跳转流。
2.控制器:
这个是使用者为了处理请求而创建的组件,它封装了跳转逻辑。
控制器将服务委托给服务对象。
3.视图:
视图是负责渲染呈现输出的。
在输出的结果集、显示设备和通讯设备的基础上,不同类型的输出要选择不同的视图。
4.ModelAndView:
ModelAndView是spring框架的核心部分。
它实现了应用程序的业务逻辑,由控制器创建。
它使视图和请求联系起来并且存储了业务逻辑和模型数据。
当一个控制器调用它的时候,它才会执行。
在执行时,它将返回视图的数据和名字。
5.ViewResolver:
输出是如何显示的取决于从ModelAndView中接收的结果。
ViewResolver是将逻辑视图名映射到实际视图的实现。
这部分将确定和实现输出的是什么媒体以及如何去显示它。
6.HandlerMapping:
它是DispatcherServlet将传入的请求映射到单个控制器时所使用的战略性接口。
它识别请求并且调用相应的处理程序来提供服务,处理程序会调用控制器。
Ⅲ、spring的体系结构
Spring框架为开发web应用程序提供了功能全面的mvc模型。
Spring具有可插拨的mvc架构,他可以配置多种视图技术,例如:
jsp、velocity、tiles、iText等等。
Springmvc分离了控制器,模型对象,分派器和处理对象的角色。
对象和控制器的清楚分离,使他们更容易进行定制。
图01显示了执行流程。
图01
下面的图02显示了spring模型的序列图。
图中dispatcher Servlet是应用程序的入口点,一旦dispatcherServlet获取请求服务,它就会决定处理程序。
所有的处理程序和servlet都是相互映射的。
处理程序开始运行和调用相应的控制器,并且将请求的参数传递给控制器,这个时候控制器开始工作,它包含了业务逻辑,同时ModelAndView与控制器关联起来,在执行时,控制器会把ModelAndView返回给dispatcher Servlet,这个时候的ModelAndView包含了数据 和视图名。
DispatcherServlet从控制器从获得ModelAndView,然后Servlet会调用相应的视图解析器。
视图解析器会识别出视图的名称并且通过视图名来提取相应的数据,最后,它会以适当的格式向用户呈现各自的数据。
图02spring框架中应用程序的流程
Ⅳ、spring和xml
Xml广泛使用在spring框架中,它简化了开发流程,节约了时间。
Xml用于存储在应用程序执行时所需要的一些数据。
Web.xml文件是应用程序的入口点,它会告诉你进一步的跳转路径。
它负责
加载应用程序上下文并且指定了负责调度servlet的xml文件名。
web.xml:
-
<
?
xmlversion="
1.0"
encoding="
UTF-8"
>
web-appversion="
xmlns="
http//xmlns:
xsi="
http:
//www.w3.org/2001/XMLSchema-instance"
xsi:
schemalLocation="
listener>
listener-Class>
org.springframework.web.context.ContextLoaderListener
/listener-Class>
/listener>
servlet>
servlet-name>
dispatcher<
/servlet-name>
servletclass>
org.springframework.web.servlet.DispatcherServlet
/servlet-class>
load-on-startup>
1<
/load-on-startup>
/servlet>
servlet-mapping>
url-pattern>
/send/*<
/url-pattern>
/servlet-mapping>
welcome-file-list>
welcome-file>
index.jsp<
/welcome-file>
/welcome-file-list>
/web-app>
以上就是xml文件,xml将与传入到服务器的请求经行交互。
xml文件中明确了要调度的servlet的名称,应用程序上下文和index.jsp作为欢迎页面。
url的类型定义为*.*,这意味着它将会接受任意类型的传入请求。
ApplicationContext.xml – ApplicationContext建立在BeanFactory之上,它使
AOP特征、消息资源处理和事件传播更容易集成在一起。
BeanFactory提供了框架的配置和基本的功能,ApplicationContext则大大提高了应用的性能。
当在j2EE的环境下开发应用程序,ApplicationContext是必不可少的。
beansxmlns="
//www.springframework.org/schema/beans"
xmlns:
xmlns:
p="
//www.springframework.org/schema/p"
aop="
//www.s