SpringMVC轻松学习-SpringMVC介绍(一)

Spring  MVC 背景介绍

Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer PagesJSP)技术、VelocityTilesiText POISpring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

常见MVC框架比较

运行性能上:

         Jsp+servlet>struts1>springmvc>struts2+freemarker>>struts2,ognl,值栈。

开发效率上,基本正好相反。值得强调的是,spring mvc开发效率和struts2不相上下。

Struts2的性能低的原因是因为OGNL和值栈造成的。所以,如果你的系统并发量高,可以使用freemaker进行显示,而不是采用OGNL和值栈。这样,在性能上会有相当大得提高。

 有人说SpringMVC可能会取代Struts2!会的话,大家赶紧动手学习吧。。。。

下面就先说说Spring2.5与3.0的区别

一、首先,模块的组织更加的细致,从那么多的jar分包就看的出来
二、新特性如下:

Spring Expression Language
Spring表达式语言)

IoC enhancements/Java based bean metadata
Ioc增强/基于Javabean元数据)

General-purpose type conversion system and UI field formatting system
(通用类型转换系统和UI字段格式化系统)

Object to XML mapping functionality (OXM) moved from Spring Web Servicesproject
(对象到XML映射功能从Spring WebServices项目移出)

Comprehensive REST support
(广泛的REST支持)

@MVC additions
@MVC增强)

Declarative model validation
(声明式模型验证)

Early support for Java EE 6
(提前对Java EE6提供支持)

Embedded database support
(嵌入式数据库的支持)

三、针对Java 5的核心API升级

1
BeanFactory接口尽可能返回明确的bean实例,例如:

T getBean(String name, Class requiredType)

Map getBeansOfType(Class type)

Spring3
对泛型的支持,又进了一步。个人建议泛型应该多用,有百利而无一害!

2
SpringTaskExecutor接口现在继承自java.util.concurrent.Executor

扩展的子接口AsyncTaskExecutor支持标准的具有返回结果FuturesCallables

任务计划,个人还是更喜欢Quartz

3
、新的基于Java5APISPI转换器

无状态的ConversionService Converters

取代标准的JDK PropertyEditors

类型化的ApplicationListener,这是一个实现观察者设计模式使用的事件监听器。

基于事件的编程模式,好处多多,在项目中应该考虑使用,基于事件、状态迁移的设计思路,有助于理清软件流程,和减少项目的耦合度。

 





原文地址:https://www.cnblogs.com/wang3680/p/440fb53ed639a23bdd1888efa07f90d4.html