`

Spring MVC

阅读更多

再看看和重量的区,笔者看很多种说法,得最有道理的是代表是POJO       + IoC,重量的代表是Container+ FactoryEJB2.0是典型的重量级组件的技)我尽量使用Pojo很好理解,意就在于兼容性和可适性,移植不需要改原来的代。而IocFactory比起来,Ioc点是更大的灵活性,通配置可以控制很多注入的细节,而Factory模式,行是相固定的,生一个象就必接受它全部的特点,不管是否需要。其实轻和重量都是相的概念,使用源更少、运行负载更小的自然就算量。  

话题了,因Spring框架来了太多可以探的地方。比如它的非侵入性:指的是它提供的框架实现可以程序员编程却感不到框架的存在,这样所写的代并没有和框架定在一起,可以随抽离出来,也是Spring设计的目Spring是唯一可以做到真正的针对接口程,处处都是接口,不依赖绑定任何实现类。同Spring还设计了自己的事管理、象管理和Model2       MVC框架,封装了其他J2ee的服在里面,在实现上基本都在使用依注入和AOP的思想。由此我大概可以看到Spring是一个什概念上的框架,代表了很多秀思想,得深入学。笔者强调,学并不是框架,而是框架代表的思想,就像我当初学Struts……  

1Spring       MVC  

IoCAOP笔者在上篇已稍微解释过了,里先通SpringMVC框架来大家探一下Spring的特点吧。(竟大部分人已很熟悉Struts了,比一下吧)  

众所周知MVC的核心是控制器。Struts中的ActionServletSpring里面前端控制器叫做DispatcherServlet。里面充当Action件叫做Controller,返回的视图层对象叫做ModelAndView,提交和返回都可能要经过过滤件叫做Interceptor  

看看一个从求到返回的流程吧:  

 (1)   前台JspHtmlsubmit,将数据装入了request  

 (2)   求被Interceptor截下来,preHandler()方法出前置判断  

 (3)   求到达DispathcerServlet   

(4)   DispathcerServletHandler       Mapping来决定reuqest应该转发给哪个后端控制器Controller  

(5)   各式各的后端控制器Controller求,业务层对象来业务逻辑,然后返回一个ModelAndView  

(6)   Controller行完InterceptorpostHandle来做后置  

(7)   ModelAndView代表了呈画面是使用的Model数据象和View象,由于只能返回一个象所有起了个名字封装两个象。  

 (8)   ViewResolver象来解析个返回的ModelAndView应该到哪一个视图Jsp/Html等)中(包括Exception       Resolver  

 (9)   View制完成之后Interceptor又会跳出来行它的afterCompletion方法做善后理。当然Interceptor的行完全是配置的而不是制的。  

这样一个完整的流程就这样结束了,个人感SpringMVC框架稍显复杂,不像Struts-1容易上手。不管是ControllerModelViewRosovlerHandle MappingViewSpring MVC框架都已经为你提供了多种实现,想最大程度的减少程序编码,增加框架的适用性。大家有趣可以继续深入研究哈!  

2Spring       AOP  

得最初笔者教他人Spring是一个什么东西的候,个人都会提到AOP词语。笔者在上一篇已释过AOP基本原理,次来跟大家说说SpringAOP程吧。不同的AOP框架会有其AOP概念不同的实现方式,主要的差在于所提供的PointcutAspects的丰富程度,以及它如何被用程序、代理的方式等等。先熟悉一下AOP中的几个重要概念:  

 (1)   Cross-cutting:横切,白了就是需要理的集合  

 (2)   Aspects:将散落各的横切收集起来,设计成各个独立可重用的象称Aspects  

 (3)   Advice:横切的具体实现,即等待插入一段逻辑  

 (4)   Joinpoint:Advice插入流程的机点。  

 (5)   Pointcut:用于选择Joinpoint的程序构,可以通Annotation或者XML实现  

 (6)   Weave: Advice用至象之上的程称之为织入,有编译期、期、运行期三种时间点策略。  

如果你采用实现接口的方式,Spring会在期适用java动态代理,如果不实现接口,Spring会使用CGLIB生代理AOP的概念很大很泛,而Spring只使用了其中的部分特性,Spring的目框架,比如它只支持MethodJoinpoint,而不支持FieldJoinpoint,理由是了封装性。

分享到:
评论

相关推荐

    精通Spring MVC 4

    Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。Spring MVC4是当前zuixin的版本,在众多特性上有了进一步的提升。, 在精通Spring...

    Spring MVC jar包

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为开发者提供了模型-视图-控制器(MVC)架构,使开发人员能够更好地组织和分离应用程序的业务逻辑、数据处理和用户界面。Spring MVC是Spring框架的一个核心组件,...

    Mastering Spring MVC 4(2015.09)源码

    Spring MVC 是一个强大的Java Web开发框架,它是Spring框架的一部分,专为构建高度可扩展和模块化的Web应用程序而设计。在2015年的版本中,Spring MVC 4已经相当成熟,提供了许多特性来简化开发流程并提高开发效率。...

    Spring MVC + Mybatis+Spring实现的个人博客系统

    这是一个基于Spring MVC、Mybatis和Spring框架实现的个人博客系统,涵盖了Web开发中的后端架构设计、数据库管理和前端展示等多个方面。以下将详细介绍这个系统的关键知识点: **1. Spring MVC** Spring MVC是Spring...

    Spring MVC所需jar包

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一个重要模块,主要用于构建 Web 应用程序的后端控制层。这个框架提供了模型-视图-控制器(MVC)设计模式的实现,简化了Java Web应用的开发...

Global site tag (gtag.js) - Google Analytics