spring常见术语理解

SpringMVC工作流程:



流程 
1、用户发送请求至前端控制器DispatcherServlet 
2
DispatcherServlet收到请求调用HandlerMapping处理器映射器。 
3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet 
4DispatcherServlet调用HandlerAdapter处理器适配器 
5HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器) 
6Controller执行完成返回ModelAndView 
7
HandlerAdaptercontroller执行结果ModelAndView返回给DispatcherServlet 
8
DispatcherServletModelAndView传给ViewReslover视图解析器 
9ViewReslover解析后返回具体View 
10
DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。 
11DispatcherServlet
响应用户


SpringMVC与Struts2的主要区别?

springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。
springmvc基于方法开发,传递参数是通过方法形参,可以设计为单例或多例(建议单例)struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。 
Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, springmvc通过参数解析器是将request对象内容进行解析成方法形参,将响应数据和页面封装成ModelAndView对象,最后又将模型数据通过request对象传输到页面。 Jsp视图解析器默认使用jstl

1. 什么是spring?

Spring 是个javaee应用的开源开发框架。Spring主要用来开发Java应用。是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。


2. 使用Spring框架的好处是什么?

  • 轻量:基本的版本大约2MB。
  • 控制反转:Spring通过控制反转实现了松散耦合,一个对象依赖的其他的对象会通过被动的方式注入进来,而不是程序员自己去New,创建、查找依赖的对象。
  • 面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。
  • 容器:Spring 包含并管理应用中对象的生命周期和配置。
  • MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品。
  • 事务管理:Spring 提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA)。
  • 异常处理:Spring 提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为一致的unchecked 异常。
参考博文:http://blog.csdn.net/dongfengkuayue/article/details/51353387 点击打开链接








本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 智联 网卡设置,Linux初学者DNS配置指南(四)配置Bind常见问题

手把手教你如何配置Linux下的DNS(四)配置Bind常见问题一.rndc:connect failed: connection refused错误1.1.问题发生:配置DNS完成后,输入命令重启DNS服务使配置生效:/etc/rc.d/init.d/namedrestart或rdnc status出现rndc: connect…

mybatis那些事~

http://blog.csdn.net/qq_33824312/article/details/737710081.JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?①数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。解决:在Sq…

linux绑定team网卡,linux 实现双网卡绑定单个IP——team篇

1、安装teamd[rootweb01 ~]# yum -y install teamd2、停止NetworkManager什么是NetworkManager呢?NetworkManager服务是管理和监控网络设置的守护进程,CentOS7更加注重使用NetworkManager服务来实现网络的配置和管理,CentOS7以前是通过networ…

postman新手使用教程

postman原理解析: 1。 在 postman中输入请求地址,并点击send按钮; 2. 对应的应用服务器收到该请求,并且返回对应的响应报文,并通过友好的可视化界面显示在界面上。

linux ssh服务,Linux配置SSH服务以便实现远程连接

Linux用户们一定想要知道该怎么开启SSH服务吧,SSH服务是Linux系统远程连接的重要方式,所以如何配置SHH服务也让很多用户感到纠结。现在小编就帮大家解决这个问题。配置方法:查询\安装SSH服务1.登陆linux系统,打开终端命令。输入 r…

玄学········为什么在eclipse上更改程序之后运行之后好像没更改一样

更改了半天,保存的了很多次,错误也改掉了,但是还是报同一个错误,很痛苦~搜了半天,终于搞定了,方法总结如下:一 可能是有一些文件没报存,设置让其自动保存:1 Windows-&g…

linux 用dg分区,[bug报告] 兼容性问题,mbr硬盘使用分区扩容后linux系统不认分区...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼原本机械硬盘A装了windowslinux双系统(mbr)如下:sda1:充当windows系统的C盘sda2:充当windows系统的D盘sda3:充当linux系统的启动盘 /bootsda4:充当linux系统的根目录 /后来…

转圈打印矩阵~~

下面附上程序,欢迎各位前来讨论: package jian_zhi_offer;public class code29_PrintMatrixClockWisely {public static void main(String args[]) {int arr[][] { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };printMatrix(arr);}/* 这个函数…

linux pe大小,lvm中的pe默认是4M 最大能支持多大 1T?2T

看下手册就知道了。古老的lvm1格式,有网上流传很广的说法,256G限制。如果是lvm2格式的,基本无限制,限制在于服务器本身的对硬盘的识别和cpu是32还是64,另一个就是系统的内核版本,2.4前的限制2T以下手册原文…

“之”字形打印矩阵~

编程如下: 欢迎大家前来讨论~ public class PrintMatirx { public static void main(String args[]) { int arr[][] { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; printZigMatrix(arr); } public static void printZigMatrix(int arr[][]) { int row1 …

linux设备probe,你了解Embeded linux中的probe

一、基于linux-3.18.20、mac驱动二、启动时机:所谓的"probe”,是指在Linux内核中,如果存在相同名称的device和device_driver,内核就会执行device_driver中的probe回调函数,而该函数就是所有driver的入口&#xff…

为linux虚拟机添加硬盘分区,虚拟机centos添加硬盘和分区挂载

1添加新硬盘设置-》存储-》SATA控制器-》右击,选择“添加虚拟硬盘”2重启虚拟机查看现有系统的磁盘空间fdisk -l可看到新加的虚拟硬盘,一般名为:Disk /dev/sdb给新加的硬盘分区fdisk /dev/sdb键入m,可看到帮助信息再键…

在行列都排好序的矩阵中找数

对于这种题,首先要读懂该题的题意,首先是有序的,然后就判断K是否存在数组中。 仔细研究这个题之后不难发现一个规律,咱们定义右上角的坐标为(row,col)则有如下规律:程序如下&#xf…

Linux启动SAP服务,sap启动相关

转载:http://blog.sina.com.cn/s/blog_4298a2c80102wuim.htmlSAP服务器启动顺序:服务器操作系统启动完成(硬件和linux操作系统), 数据库启动完成, SAP应用程序启动完成SAP服务器关闭顺序:SAP应用程序关闭完成&#xf…

打印两个有序链表的公共部分~~

类似与归并排序,这里就不再赘述了~

linux的备份命令及其参数,linux cpio命令参数及用法详解--linux备份文件命令

cpio(copy in/out)功能说明&#xff1a;备份文件。语  法&#xff1a;cpio [-0aABckLovV][-C ][-F ][-H ][-O ][--block-size][--force-local][--help][--quiet][--version] 或 cpio [-bBcdfikmnrsStuvV][-C ][-E ][-F ][-H ][-I ][-M ][-R <:>][--block-size][--force…

透彻理解回文~单链表的逆序~

判断一个单链表是不是回文&#xff0c;主要有三种方法&#xff0c;不过如果要考虑空间复杂度的话&#xff0c;就只有常用的一种方法了。 这种方法很考验一个人的细心以及编程能力~ 前两种方法比较简单我就不祥述了~ 主要讲一下最后一种方法&#xff1a;直接上图了~下面附上code…

linux下nand flash驱动工作原理,Linux驱动之Nand Flash四问,原理、工作方式都包含了...

Nand Flash 是一个存储芯片。本文引用地址&#xff1a;http://www.eepw.com.cn/article/201801/374606.htm那么&#xff1a;这样的操作很理“读地址A的数据&#xff0c;把数据B写到地址A”问1&#xff1a;原理图上的Nand Flash和SC2440之间只有数据线&#xff0c;怎么传输地址?…

将单向链表按某值划分成左边小、 中间相等、 右边大的形式~迎娶是挺

这道题一开始想到的方法可能就是patition方法了&#xff0c;大概思路我说一下&#xff0c;先把这个链表存为数组&#xff08;说明其空间复杂度为0&#xff08;1&#xff09;&#xff09;&#xff0c;然后在对这个数组进行patition&#xff0c;即定义两个指针&#xff0c;一个指…

arm引脚复用linux,ARM知识分享-i.MX6Q GPIO复用修改方法

内核版本&#xff1a;Linux-3.0.35i.MX6Q GPIO复用修改方法&#xff0c;验证平台为飞凌嵌入式OKMX6Q-S2开发板&#xff0c;基于ARM Corte-A9 架构&#xff0c;i.MX6Q四核处理器&#xff0c;其它平台可参考使用。本次修改将原SD卡功能占用的部分引脚释放&#xff0c;复用为GPIO。…