当前位置:文档之家› Spring MVC 框架搭建及详解

Spring MVC 框架搭建及详解

Spring MVC 框架搭建及详解
Spring MVC 框架搭建及详解

14-4-13Spring MVC 框架搭建及详解 - OPEN 开发经验库

https://www.doczj.com/doc/466511558.html,/lib/v iew/open1338338587698.html

1/7

登录 注册

Java开源PHP开源JS脚本大全OPEN家园OPEN经验库OPEN文档OPEN资讯OPEN论坛

经验搜索 推荐:jQuery MiniUI,Web界面控件库!

所有分类 > 软件开发 > Web框架 > Spring MVC

Spring MVC 框架搭建及详解

您的评价: 收藏该经验

文件夹请选择...标签

(多个标签用逗号分隔)

现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。

一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0) 1. jar包引入

Spring 2.5.6:spring.jar、spring-webmvc.jar、commons-logging.jar、cglib-nodep-2.1_3.jar

Hibernate 3.6.8:hibernate3.jar、hibernate-jpa-2.0-api-1.0.1.Final.jar、antlr-2.7.6.jar、commons-collections-3.1、dom4j-1.6.1.jar、javassist-3.12.0.GA.jar、jta-1.1.jar、slf4j-api-1.6.1.jar、slf4j-nop-1.6.4.jar、相应数据库的驱动jar包 2. web.xml配置(部分)

01

020304 s p r i n g 05 o r g .s p r i n g f r a m e w o r k .w e b .s e r v l e t .D i s p a t c h e r S e r v l e t 06 12 11314 1516 s p r i n g 17 *.d o 1819 20 21 22232425

o r g .s p r i n g f r a m e w o r k .w e b .c o n t e x t .C o n t e x t L o a d e r L i s t e n e r

14-4-13Spring MVC 框架搭建及详解 - OPEN 开发经验库

https://www.doczj.com/doc/466511558.html,/lib/v iew/open1338338587698.html

2/7

3. spring-servlet.xml配置

spring-servlet这个名字是因为上面web.xml中标签配的值为spring(spring),再加上“-servlet”后缀而形成的spring-servlet.xml文件名,如果改为springMVC,

对应的文件名则为springMVC-servlet.xml。

4. applicationContext.xml配置

26

27 28 293031

c o n t e x t C o n f i g L o c a t i o n

32

c l a s s p a t h :c o n f i g /a p p l i c a t i o n C o n t e x t .x m l

33

0102

x m l n s :p ="h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /p " 04 x m l n s :c o n t e x t ="h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /c o n t e x t " 05 x s i :s c h e m a L o c a t i o n ="h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /b e a n s

h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /b e a n s /s p r i n g -b e a n s -3.0.x s d 06 h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /a o p

h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /a o p /s p r i n g -a o p -3.0.x s d 07 h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /t x

h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /t x /s p r i n g -t x -3.0.x s d 08 h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /c o n t e x t

h r e f ="h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /c o n t e x t /s p r i n g -c o n t e x t -3.0.x s d ">h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /c o n t e x t /s p r i n g -c o n t e x t -3.0.x s d ">09 10 11 12 13 14 15 16 17

c l a s s ="o r g .s p r i n g f r a m e w o r k .w e b .s e r v l e t .m v c .a n n o t a t i o n .A n n o t a t i o n M e t h o

d H a n d l

e r A d a p t e r "/>18 19 20

c l a s s ="o r g .s p r i n g f r a m e w o r k .w e b .s e r v l e t .v i e w .I n t e r n a l R e s o u r c e V i e w R e s o l v e r "p :p r e f i x ="/j s p /" p :s u f f i x =".j s p " />2101

d i n g ="U T F -8"?>

0210 11 12 13

14 c l a s s p a t h :c o n f i g /h i b e r n a t e .c f g .x m l 15

14-4-13Spring MVC 框架搭建及详解 - OPEN 开发经验库

https://www.doczj.com/doc/466511558.html,/lib/v iew/open1338338587698.html

3/7

二、详解

Spring MVC与Struts从原理上很相似(都是基于MVC架构),都有一个控制页面请求的Servlet,处理完后跳转页面。看如下代码(注解):

16

17 18 19 20

21 22

23

24 25 26 27 28 29 30 31 32 33

34 35
01p a c k a g e c o n t r o l l e r ;

02 03i m p o r t j a v a x .s e r v l e t .h t t p .H t t p S e r v l e t R e q u e s t ;04 05i m p o r t o r g .s p r i n g f r a m e w o r k .s t e r e o t y p e .C o n t r o l l e r ;06i m p o r t o r g .s p r i n g f r a m e w o r k .w e b .b i n d .a n n o t a t i o n .R e q u e s t M a p p i n g ;07i m p o r t o r g .s p r i n g f r a m e w o r k .w e b .b i n d .a n n o t a t i o n .R e q u e s t P a r a m ;08 09i m p o r t e n t i t y .U s e r ;10 11@C o n t r o l l e r //类似S t r u t s 的A c t i o n 12p u b l i c c l a s s T e s t C o n t r o l l e r {13 14 @R e q u e s t M a p p i n g ("t e s t /l o g i n .d o ") // 请求u r l 地址映射,类似S t r u t s 的a c t i o n -m a p p i n g 15 p u b l i c S t r i n g t e s t L o g i n (@R e q u e s t P a r a m (v a l u e ="u s e r n a m e ")S t r i n g u s e r n a m e ,S t r i n g p a s s w o r d , H t t p S e r v l e t R e q u e s t r e q u e s t ) {16 // @R e q u e s t P a r a m 是指请求u r l 地址映射中必须含有的参数(除非属性r e q u i r e d =f a l s e )17 // @R e q u e s t P a r a m 可简写为:@R e q u e s t P a r a m ("u s e r n a m e ")18 19 i f (!"a d m i n ".e q u a l s (u s e r n a m e ) || !"a d m i n ".e q u a l s (p a s s w o r d )) {20 r e t u r n "l o g i n E r r o r "; // 跳转页面路径(默认为转发),该路径不需要包含s p r i n g -s e r v l e t 配置文件中配置的前缀和后缀21 }22 r e t u r n "l o g i n S u c c e s s ";23 }24 25 @R e q u e s t M a p p i n g ("/t e s t /l o g i n 2.d o ")26 p u b l i c M o d e l A n d V i e w t e s t L o g i n 2(S t r i n g u s e r n a m e , S t r i n g p a s s w o r d , i n t a g e ){27 // r e q u e s t 和r e s p o n s e 不必非要出现在方法中,如果用不上的话可以去掉28 // 参数的名称是与页面控件的n a m e 相匹配,参数类型会自动被转换29 30 i f (!"a d m i n ".e q u a l s (u s e r n a m e ) || !"a d m i n ".e q u a l s (p a s s w o r d ) || a g e < 5) {31 r e t u r n n e w M o d e l A n d V i e w ("l o g i n E r r o r "); // 手动实例化M o d e l A n d V i e w 完成跳转页面(转发),效果等同于上面的方法返回字符串32 }33 r e t u r n n e w M o d e l A n d V i e w (n e w R e d i r e c t V i e w ("../i n d e x .j s p ")); // 采用重定向方式跳转页面34 // 重定向还有一种简单写法35

// r e t u r n n e w M o d e l A n d V i e w ("r e d i r e c t :../i n d e x .j s p ");

14-4-13Spring MVC 框架搭建及详解 - OPEN 开发经验库

https://www.doczj.com/doc/466511558.html,/lib/v iew/open1338338587698.html

4/7

以上4个方法示例,是一个Controller里含有不同的请求url,也可以采用一个url访问,通过url参数来区分访问不同的方法,代码如下:

36 }

37 38 @R e q u e s t M a p p i n g ("/t e s t /l o g i n 3.d o ")39 p u b l i c M o d e l A n d V i e w t e s t L o g i n 3(U s e r u s e r ) {40 // 同样支持参数为表单对象,类似于S t r u t s 的A c t i o n F o r m ,U s e r 不需要任何配置,直接写即可41 S t r i n g u s e r n a m e = u s e r .g e t U s e r n a m e ();42 S t r i n g p a s s w o r d = u s e r .g e t P a s s w o r d ();43 i n t a g e = u s e r .g e t A g e ();44 45 i f (!"a d m i n ".e q u a l s (u s e r n a m e ) || !"a d m i n ".e q u a l s (p a s s w o r d ) || a g e < 5) {46 r e t u r n n e w M o d e l A n d V i e w ("l o g i n E r r o r ");47 }48 r e t u r n n e w M o d e l A n d V i e w ("l o g i n S u c c e s s ");49 }50 51 @R e s o u r c e (n a m e = "l o g i n S e r v i c e ") // 获取a p p l i c a t i o n C o n t e x t .x m l 中b e a n 的i d 为l o g i n S e r v i c e 的,并注入52 p r i v a t e L o g i n S e r v i c e l o g i n S e r v i c e ; //等价于s p r i n g 传统注入方式写g e t 和s e t 方法,这样的好处是简洁工整,省去了不必要得代码53 54 @R e q u e s t M a p p i n g ("/t e s t /l o g i n 4.d o ")55 p u b l i c S t r i n g t e s t L o g i n 4(U s e r u s e r ) {56 i f (l o g i n S e r v i c e .l o g i n (u s e r ) == f a l s e ) {57 r e t u r n "l o g i n E r r o r ";58 }59 r e t u r n "l o g i n S u c c e s s ";60 }61}

01p a c k a g e c o n t r o l l e r ;

02 03i m p o r t o r g .s p r i n g f r a m e w o r k .s t e r e o t y p e .C o n t r o l l e r ;04i m p o r t o r g .s p r i n g f r a m e w o r k .w e b .b i n d .a n n o t a t i o n .R e q u e s t M a p p i n g ;05i m p o r t o r g .s p r i n g f r a m e w o r k .w e b .b i n d .a n n o t a t i o n .R e q u e s t M e t h o d ;06 07@C o n t r o l l e r 08@R e q u e s t M a p p i n g ("/t e s t 2/l o g i n .d o ") // 指定唯一一个*.d o 请求关联到该C o n t r o l l e r 09p u b l i c c l a s s T e s t C o n t r o l l e r 2 {10 11 @R e q u e s t M a p p i n g 12 p u b l i c S t r i n g t e s t L o g i n (S t r i n g u s e r n a m e , S t r i n g p a s s w o r d , i n t a g e ) {13 // 如果不加任何参数,则在请求/t e s t 2/l o g i n .d o 时,便默认执行该方法14 15 i f (!"a d m i n ".e q u a l s (u s e r n a m e ) || !"a d m i n ".e q u a l s (p a s s w o r d ) || a g e < 5) {16 r e t u r n "l o g i n E r r o r ";17 }18 r e t u r n "l o g i n S u c c e s s ";19 }20 21 @R e q u e s t M a p p i n g (p a r a m s = "m e t h o d =1", m e t h o d =R e q u e s t M e t h o d .P O S T )22 p u b l i c S t r i n g t e s t L o g i n 2(S t r i n g u s e r n a m e , S t r i n g p a s s w o r d ) {23 // 依据p a r a m s 的参数m e t h o d 的值来区分不同的调用方法24 // 可以指定页面请求方式的类型,默认为g e t 请求25 26 i f (!"a d m i n ".e q u a l s (u s e r n a m e ) || !"a d m i n ".e q u a l s (p a s s w o r d )) {27 r e t u r n "l o g i n E r r o r ";28 }29 r e t u r n "l o g i n S u c c e s s ";30 }31 32 @R e q u e s t M a p p i n g (p a r a m s = "m e t h o d =2")33 p u b l i c S t r i n g t e s t L o g i n 3(S t r i n g u s e r n a m e , S t r i n g p a s s w o r d , i n t a g e ) {34 i f (!"a d m i n ".e q u a l s (u s e r n a m e ) || !"a d m i n ".e q u a l s (p a s s w o r d ) || a g e < 5) {35 r e t u r n "l o g i n E r r o r ";36 }37

r e t u r n "l o g i n S u c c e s s ";

14-4-13Spring MVC 框架搭建及详解 - OPEN 开发经验库

https://www.doczj.com/doc/466511558.html,/lib/v iew/open1338338587698.html

5/7

其实RequestMapping在Class上,可看做是父Request请求url,而RequestMapping在方法上的可看做是子Request请求url,父子请求url最终会拼起来与页面请求url进行匹配,因此RequestMapping也可以这么写:

三、结束语

掌握以上这些Spring MVC就已经有了很好的基础了,几乎可应对与任何开发,在熟练掌握这些后,便可更深层次的灵活运用的技术,如多种视图技术,例如 Jsp、Velocity、Tiles、iText 和 POI。Spring MVC框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。

转自:https://www.doczj.com/doc/466511558.html,/wangpeng047/article/details/6983027相关资讯 — 更多

Spring Framework 3.2 发布 GA 版本

Spring社交扩展框架 Spring Social 1.0 正式版发布Java 全能高效 MVC & RESTful 开发框架 Portal-Basic v3.1.1 正式发布

JavaEE5与Struts、Spring、Hibernate Spring Social 1.0.1 发布

Portal-Basic Java Web 开发框架 v3.1.1 正式发布高效 Java Web 应用开发框架 JessMA v3.2.2 正式发布

JEE框架 Spring 宣布将源码移到 Github 托管轻量级JEE框架,Spring 3.2 RC1 发布JEE框架 Spring 3.1 GA (正式版) 发布Spring Framework 3.1 RC1 发布著名的JEE框架 Spring 3.0.6 发布

高效 Java Web 开发框架 JessMA v3.3.1 Beta-1 发布

高效 Java Web 开发框架 JessMA v3.3.1 正式发布JEE框架 Spring Framework 3.0.7 发布

SpringSide 4.0.0 GA 版发布, JavaEE 参考示例高效 Java Web 开发框架 JessMA v3.2.3 beta-2 发布

高效 Java Web 开发框架 JessMA v3.2.3 正式发布高效 Java Web 开发框架 JessMA v3.2.3 beta-1 发布

分享16个javascript&jQuery的MVC教程相关文档 — 更多

Spring MVC 搭建详解.doc

搭建你的https://www.doczj.com/doc/466511558.html,+Nhibernate+https://www.doczj.com/doc/466511558.html, Mvc 框架搭建你的环境.doc Spring MVC 详解.ppt Spring 3.1 MVC 实战.doc

搭建你的https://www.doczj.com/doc/466511558.html,+Nhibernate+https://www.doczj.com/doc/466511558.html, Mvc 框架.doc

spring3 hibernate3 spring3 mvc 框架解读.docx Spring MVC3.0.5+Spring3.0.5+MyBatis3.0.4全注解实例详解.doc

Spring MVC 3.0.5 搭建全程书.doc

Spring3 MVC - 3到 Spring MVC框架简介 .pdf Spring MVC3.0.5搭建全程书.doc Spring MVC框架介绍.ppt

基于maven的Spring + Spring MVC + Mybatis 的环境搭建.docx

Spring MVC---"HELLO WORLD".pdf Spring MVC.doc

跟我学Spring MVC.pdf Spring MVC 开发教程.docx

陈雄华 Spring MVC 3.0实战指南.ppt spring mvc 注解例子.doc spring mvc 注解例子.doc

Spring MVC 教程,快速入门,深入分析.pdf

内容信息 4.4

(已有59个人评价) 46%

38 }39}

01p a c k a g e c o n t r o l l e r ;02 03i m p o r t o r g .s p r i n g f r a m e w o r k .s t e r e o t y p e .C o n t r o l l e r ;04i m p o r t o r g .s p r i n g f r a m e w o r k .w e b .b i n d .a n n o t a t i o n .R e q u e s t M a p p i n g ;05 06@C o n t r o l l e r 07@R e q u e s t M a p p i n g ("/t e s t 3/*") // 父r e q u e s t 请求u r l 08p u b l i c c l a s s T e s t C o n t r o l l e r 3 {09 10 @R e q u e s t M a p p i n g ("l o g i n .d o ") // 子r e q u e s t 请求u r l ,拼接后等价于/t e s t 3/l o g i n .d o 11 p u b l i c S t r i n g t e s t L o g i n (S t r i n g u s e r n a m e , S t r i n g p a s s w o r d , i n t a g e ) {12 i f (!"a d m i n ".e q u a l s (u s e r n a m e ) || !"a d m i n ".e q u a l s (p a s s w o r d ) || a g e < 5) {13 r e t u r n "l o g i n E r r o r ";14 }15 r e t u r n "l o g i n S u c c e s s ";16 }17}

14-4-13Spring MVC 框架搭建及详解 - OPEN 开发经验库

47%

7%

0%

0%

收藏:86人 发布时间:2012-05-30 08:55:50

经验标签

Spring MVC

同类热门经验

Spring MVC 3 最简单的入门示例

26223次浏览

Spring3 MVC 教程 (Mybatis+ExtJS基本权限管理)

16283次浏览

SpringMVC + Spring + SpringJDBC整合

7799次浏览

Spring MVC 中的 Controller

7130次浏览

基于注解的 SpringMVC 简单介绍

6403次浏览

SpringMVC入门之普通配置篇

5628次浏览

相关经验

Spring mvc框架入门

10人评

Spring MVC入门基础项目环境搭建

0人评

Spring MVC入门

0人评

Spring MVC 示例项目

3人评

Spring MVC 简介入门

7人评

spring MVC原理

7人评

Spring MVC 入门教程

2人评

Spring3.2 MVC 分析

1人评

Spring MVC 中的 Controller

13人评

Spring MVC 的文件上传

4人评

Spring Portlet MVC开发入门示例

2人评

spring mvc 3.2 使用总结

2人评

spring MVC注解之入门

2人评

Spring MVC 3 集成 Velocity

4人评

相关讨论 - 更多

20个代码生成框架

分享我的大型Java多用户商城系统开发的心得和困难

京东商城招聘来袭。。。

软件架构的一致性

处理遗留系统

反向Ajax,第4部分:Atmosphere和CometD

Spring注解笔记.doc

联系我们 - 问题反馈

https://www.doczj.com/doc/466511558.html,/lib/v iew/open1338338587698.html6/7

14-4-13Spring MVC 框架搭建及详解 - OPEN 开发经验库

2005-2013 OPEN-OPEN, all rights reserved.

https://www.doczj.com/doc/466511558.html,/lib/v iew/open1338338587698.html7/7

SpringMVC配置的基本步骤

Springmvc框架配置步骤 小弟是个新手,有不对的地方请tell me,一起研究探讨。谢谢。 1062140832@https://www.doczj.com/doc/466511558.html, 配置springmvc框架其实不是很难,要现有一个总体的认识,确定要分几步,每一步主要是干什么,不要太盲目。 以为web.xml是项目的入口,所以所有的配置文件,都必须引入到wem.xml中,不然,配置了等于没用。所以,要先从入口入手。 配置web.xml 1、首先引入springmvc-servlet.xml文件 springMVC org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/spring/mvc/springmvc-servlet.xml 1 2、将spring加载到web.xml中 org.springframework.web.context.ContextLoaderListener 3、配置上下文路径 contextConfigLocation /WEB-INF/spring/spring.xml,/WEB-INF/spring/spring-*.xml 说明:如果有很多的关于spring的配置文件,建议分开写,比如事务一个文件(spring-transaction.xml),springmvc-hibernate.xml一个配置文件,这样方便读写。

SpringMVC深入总结

一、前言: 大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了。Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀。 官方的下载网址是:https://www.doczj.com/doc/466511558.html,/download(本文使用是的Spring 3.0.5版本) Struts2也是比较优秀的MVC构架,优点非常多比如良好的结构。但这里想说的是缺点,Struts2由于采用了值栈、OGNL表达式、struts2标签库等,会导致应用的性能下降。Struts2的多层拦截器、多实例action性能都很好。可以参考我写的一篇关于Spring MVC与Struts2与Servlet比较的文章https://www.doczj.com/doc/466511558.html,/admin/blogs/698217 Spring3 MVC的优点: 1、Spring3 MVC的学习难度小于Struts2,Struts2用不上的多余功能太多。呵呵,当然这不是决定因素。 2、Spring3 MVC很容易就可以写出性能优秀的程序,Struts2要处处小心才可以写出性能优秀的程序(指MVC部分) 3、Spring3 MVC的灵活是你无法想像的,Spring的扩展性有口皆碑,Spring3 MVC当然也不会落后,不会因使用了MVC框架而感到有任何的限制。 Struts2的众多优点:略... (呵呵,是不是不公平?) 众多文章开篇时总要吹些牛,吸引一下读者的眼球,把读者的胃口调起来,这样大家才有兴趣接着往后看。本文也没能例外。不过保证你看了之后不会后悔定有收获。

2.Spring-mvc框架结构及执行流程

Spring mvc架构及执行流程一、请求处理流程图 二、执行流程说明 三、组件说明

说明:在springmvc的各个组件中,处理器映射器、处理器适配器、视图解析器称为springmvc 的三大组件。 需要用户编写的组件有handler、view 四、Spring MVC配置 1、组件扫描器:使用组件扫描器省去在spring容器配置每个controller类,使用 自动扫描标记@controller的配置如下:

2、RequestMappingHandlerMapping:注解处理器映射器,对类中标记@RequestMapping 的方法进行映射,根据RequestMapping定义的url匹配RequestMapping标记的方 法,匹配成功返回HandlerMethod对象给前端控制器,HandlerMethod对象中封装 注解描述: @RequestMapping:定义请求url到处理器功能方法的映射 3、RequestMappingHandlerAdapter:注解式处理器适配器,对标记@RequestMapping 的方法进行适配。 从spring3.1版本开始,废除了AnnotationMethodHandlerAdapter的使用,推荐使用 4、:spring mvc 使用自动加载RequestMappingHandlerMapping和RequestMappingHandlerAdapter,可用在spring-mvc.xml 配置文件总使用替代注解处理器和适配器的配置。 5、视图解析器 InternalResourceViewResolver:支持JSP视图解析 viewClass:JstlView表示JSP模板页面需要使用JSTL标签库,所以classpath中必须包含jstl 的相关jar 包。此属性可以不设置,默认为JstlView。 prefix 和suffix:查找视图页面的前缀和后缀,最终视图的址为:

springmvc原理

1.springmvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。 2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller. 3.DispatcherServlet请请求提交到目标Controller 4.Controller进行业务逻辑处理后,会返回一个ModelAndView 5.Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象 6.视图对象负责渲染返回给客户端。 为什么要使用Spring: AOP 让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。使用AOP后,公共服务(比如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。 IOC 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词倒置所表明的,IOC 就像反过来的JNDI。没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straightconstruction),每一个对象都是用其协作对象构造的。因此是由容器管理协作对象(collaborator)。 Spring即使一个AOP框架,也是一IOC容器。Spring 最好的地方是它有助于您替换对象。有了Spring,只要用JavaBean属性和配置文件加入依赖性(协作对象)。然后可以很容易地在需要时替换具有类似接口的协作对象。 Spring 框架是一个分层架构,由7 个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean 的方式,如图 1 所示。 组成Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下: 核心容器:核心容器提供Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。 Spring 上下文:Spring 上下文是一个配置文件,向Spring框架提供上下文信息。Spring 上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。 Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了Spring框架中。所以,可以很容易地使Spring 框架管理的任何对象支持AOP。Spring AOP

简介Java的Spring框架的体系结构以及安装配置

体系结构 Spring有可能成为所有企业应用程序的一站式服务,然而,Spring是模块化的,使您可以挑选哪些模块是适用的,而不必把在余下的也引入。以下部分给出详细介绍在Spring框架中所有可用的模块。 Spring框架提供约20个模块,可以根据应用程序的要求来使用。 网店转让

响应式网站制作 p2p网站制作 a货包包

游戏制作学习 核心容器: 核心容器组成的核心,Beans,上下文和表达式语言模块,其细节如下: 核心模块提供了框架的基本组成部分,包括IoC和依赖注入功能。 Bean模块提供BeanFactory是工厂模式的经典实现。 Context 上下文模块建立在由核心和Bean类模块提供了坚实的基础,它是访问定义和配置的任何对象的媒介。在ApplicationContext接口是上下文模块的焦点。. 表达式语言模块提供了在运行时查询和操作对象图的强大的表达式语言。 数据访问/集成: 数据访问/集成层包括JDBC,ORM,OXM,JMS和事务处理模块,其细节如下: JDBC模块提供了不再需要冗长的JDBC编码相关了JDBC的抽象层。 ORM模块提供的集成层。流行的对象关系映射API,包括JPA,JDO,Hibernate和iBatis。OXM模块提供了一个支持对象/ XML映射实现对JAXB,Castor,使用XMLBeans,JiBX和XStream的抽象层。 Java消息服务JMS模块包含的功能为生产和消费的信息。 事务模块支持编程和声明式事务管理实现特殊接口类,并为所有的POJO。 Web: 在Web层包括网络,Web-Servlet,Web-Struts和网络的Portlet组件,其细节如下:Web模块提供了基本的Web开发的集成特性,例如多方文件上传功能和使用的servlet监听器的IoC容器初始化和针对Web的应用程序上下文。 Web-Servlet 模块包含Spring的模型- 视图- 控制器(MVC)实现Web应用程序。Web-Struts 模块包含支持类内的Spring应用程序集成了经典的Struts Web层。 Web-Portlet模块提供了MVC实现在portlet环境中使用和镜子Web的Servlet的模块的功能。

学习SpringMVC系列教程(一)Spring MVC入门

2.1、Spring Web MVC是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。 另外还有一种基于组件的、事件驱动的Web框架在此就不介绍了,如Tapestry、JSF等。 Spring Web MVC也是服务到工作者模式的实现,但进行可优化。前端控制器是DispatcherServlet;应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为Controller接口(仅包含ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类);支持本地化(Locale)解析、主题(Theme)解析及文件上传等;提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。 2.2、Spring Web MVC能帮我们做什么 √让我们能非常简单的设计出干净的Web层和薄薄的Web层; √进行更简洁的Web层的开发;

√天生与Spring框架集成(如IoC容器、AOP等); √提供强大的约定大于配置的契约式编程支持; √能简单的进行Web层的单元测试; √支持灵活的URL到页面控制器的映射; √非常容易与其他视图技术集成,如Velocity、FreeMarker等等,因为模型数据不放在特定的API里,而是放在一个Model里(Map数据结构实现,因此很容易被其他框架使用); √非常灵活的数据验证、格式化和数据绑定机制,能使用任何对象进行数据绑定,不必实现特定框架的API; √提供一套强大的JSP标签库,简化JSP开发; √支持灵活的本地化、主题等解析; √更加简单的异常处理; √对静态资源的支持; √支持Restful风格。 2.3、Spring Web MVC架构

Spring MVC 框架搭建及详解

Spring MVC 环境搭建及详解 一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0) 1. jar包引入 Spring 2.5.6:spring.jar、spring-webmvc.jar、commons-logging.jar、 cglib-nodep-2.1_3.jar Hibernate 3.6.8:hibernate3.jar、hibernate-jpa-2.0-api-1.0.1.Final.jar、antlr-2.7.6.jar、commons-collections-3.1、dom4j-1.6.1.jar、javassist-3.12.0.GA.jar、jta-1.1.jar、 slf4j-api-1.6.1.jar、slf4j-nop-1.6.4.jar、相应数据库的驱动jar包 2. web.xml配置(部分) spring org.springframework.web.servlet.DispatcherServlet 1

spring *.do org.springframework.web.context.ContextLoaderListene r contextConfigLocation classpath:config/applicationContext.xml 3. spring-servlet.xml配置

spring MVC配置详解

牧涛 --<-<-<@态度决定一切→_→。。。 ?博客园 ?首页 ?新闻 ?新随笔 ?联系 ?管理 ?订阅 随笔- 171 文章- 3 评论- 79 spring MVC配置详解 现在主流的Web MVC框架除了Struts这个主力外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。 一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0) 1. jar包引入 Spring 2.5.6:spring.jar、spring-webmvc.jar、commons-logging.jar、cglib -nodep-2.1_3.jar Hibernate 3.6.8:hibernate3.jar、hibernate-jpa-2.0-api-1.0.1.Final.jar、a ntlr-2.7.6.jar、commons-collections-3.1、dom4j-1.6.1.jar、javassist-3.12.0.G A.jar、jta-1.1.jar、slf4j-api-1.6.1.jar、slf4j-nop-1.6.4.jar、相应数据库的驱动jar 包 SpringMVC是一个基于DispatcherServlet(分发器)的MVC框架,每一个请求最先访问的都是DispatcherServlet,DispatcherServlet负责转发每一个Request请求给相应的Handler,Handler处理以后再返回相应的视图(View)和模型(Model),返回的视图和模型都可以不指定,即可以只返回Model或只返回View或都不返回。 DispatcherServlet是继承自HttpServlet的,既然SpringMVC是基于DispatcherSe rvlet的,那么我们先来配置一下DispatcherServlet,好让它能够管理我们希望它管理的内容。HttpServlet是在web.xml文件中声明的。 spring org.springframework.web.servlet.DispatcherServlet< /servlet-class>