SpringMVC轻松学习-SpringMVC介绍(一)
Spring MVC 背景介绍
Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
常见MVC框架比较
运行性能上:
Jsp+servlet>struts1>springmvc>struts2+freemarker>>struts2,ognl,值栈。
开发效率上,基本正好相反。值得强调的是,spring mvc开发效率和struts2不相上下。
有人说SpringMVC可能会取代Struts2!会的话,大家赶紧动手学习吧。。。。
下面就先说说Spring2.5与3.0的区别
一、首先,模块的组织更加的细致,从那么多的jar分包就看的出来
二、新特性如下:
Spring Expression Language (Spring表达式语言)
IoC enhancements/Java based bean metadata (Ioc增强/基于Java的bean元数据)
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、Spring的TaskExecutor接口现在继承自java.util.concurrent.Executor:
扩展的子接口AsyncTaskExecutor支持标准的具有返回结果Futures的Callables。
任务计划,个人还是更喜欢Quartz。
3、新的基于Java5的API和SPI转换器
无状态的ConversionService 和 Converters
取代标准的JDK PropertyEditors
类型化的ApplicationListener,这是一个实现“观察者设计模式”使用的事件监听器。
基于事件的编程模式,好处多多,在项目中应该考虑使用,基于事件、状态迁移的设计思路,有助于理清软件流程,和减少项目的耦合度。
SpringMVC轻松学习-SpringMVC介绍(一)的更多相关文章
- SpringMVC轻松学习-环境搭建(二)
基于spring2.5的采用XML配置的spring MVC项目 注:本项目全部基于XML配置.同时,集成了hibernate.采用的是:spring MVC+hibernate+spring的开发架 ...
- SpringMVC轻松学习-其他常用(四)
Spring MVC 3.0 深入 核心原理 1. 用户发送请求给服务器.url:user.do 2. 服务器收到请求.发现DispatchServlet可以处理.于是调用Disp ...
- SpringMVC轻松学习-注解的使用(三)
根据上一讲的例子,我们下面就注解的使用进行详细说明. 我们采用sprng MVC开发项目时,通常都会采用注解的方式,这样可以大大提高我们的开发效率.实现零配置.下面我们从零开始重新做一个spring ...
- 学习SpringMVC——如何获取请求参数
@RequestParam,你一定见过:@PathVariable,你肯定也知道:@QueryParam,你怎么会不晓得?!还有你熟悉的他(@CookieValue)!她(@ModelAndView) ...
- SpringMVC第一篇【介绍、入门、工作流程、控制器】
什么是SpringMVC? SpringMVC是Spring家族的一员,Spring是将现在开发中流行的组件进行组合而成的一个框架!它用在基于MVC的表现层开发,类似于struts2框架 为什么要使用 ...
- JAVAEE——SpringMVC第一天:介绍、入门程序、架构讲解、SpringMVC整合MyBatis、参数绑定、SpringMVC和Struts2的区别
1. 学习计划 第一天 1.SpringMVC介绍 2.入门程序 3.SpringMVC架构讲解 a) 框架结构 b) 组件说明 4.SpringMVC整合MyBatis 5.参数绑定 a) Sp ...
- SpringMVC入门学习(二)
SpringMVC入门学习(二) ssm框架 springMVC 在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. mo ...
- SpringMVC初学习
# SpringMVC快速入门 @[TOC](文章目录) --- # 前言 `提示:这里可以添加本文要记录的大概内容:` 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习 ...
- SpringMVC入门学习(一)
SpringMVC入门学习(一) ssm框架 spring SpringMVC是一个Java WEB框架,现在我们知道Spring了,那么,何为MVC呢? MVC是一种设计模式,其分为3个方面 mo ...
随机推荐
- android全屏和取消全屏 旋转屏幕
全屏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 取消全屏 getWindow().clearFlags(Win ...
- ng-option小解
ng-option 有数组,对象两种情况,但目前只接触过数组 数组: label for value in array 分为一般数组和对象数组 一般数组: <select ng-model=&q ...
- Hidden Word
Hidden Word time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...
- input内文字点击消失 弹出层,可以写表单
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- Android中ViewPager如何设置不能通过屏幕左右滑动来切换页面
//很多时候,我想禁止用户通过屏幕的左右滑动来切换界面!如何实现! //创建一个类继承viewpager,实现 onTouchEvent 和 onInterceptTouchEvent方法,都 ...
- 屏幕的尺寸(厘米)、屏幕分辨率(像素)、PPI它们之间是什么关系
屏幕的尺寸(厘米).屏幕分辨率(像素).PPI它们之间是什么关系? 添加评论 分享 赞同2反对,不会显示你的姓名 知乎用户,数据ETL,UNITY3D 刘大侠.如果 赞同 以iphone4 为例,分辨 ...
- 转:设置HtmlUnitDriver代理及处理用户验证有关问题
selenium2 提供了一种无ui模式的driver,即htmlunitdriver.特点运行比较快.其实htmlunitdriver 是对htmlunit 的封装,这样大家就可以使用自己习惯sel ...
- 注意:MainActivity的oncreate方法里不要再inflate布局了(MainActivity里的点击事件无响应)
activity_main已经通过setContentView(R.layout.activity_main);设置给MainActivity, 不要再inflate出新布局,然后findviewby ...
- windows加固方案
1 账号管理.认证授权.... 1 1.1 账号... 1 1.2 口令... 1 1.3 授权... 2 2 日志配置操作.... 3 3 IP ...
- 【转】在 2016 年做 PHP 开发是一种什么样的体验?(一)
原文: https://www.v2ex.com/t/312651 在 2016 年做 PHP 开发是一种什么样的体验?(一) 嘿,我最近接到一个网站开发的项目,不过老实说,我这两年没怎么接触编程,听 ...