框架:

框指的是其是一个框子,有约束性;架是指的其支撑性。IT中的框架主要指的为解决特定的一个开放性问题而设计的具有一定约束性的支撑结构。在次结构上可以根据具体问题安插、扩展更多的组成部分,从而迅速和方便的构建完整的解决问题的方案

特点:

  • 不能完整的解决问题,但是可以帮助我们快速的解决问题
  • 天生为扩展而设计的,不针对特定问题,特定问题需要扩展、安插来实现
  • 框架时常配套了一些帮助解决某类问题的库或者工具,Java中就是一些列的jar包,其本质就是对jdk功能的扩展

SpringMVC框架的执行流程:

  • 用户发送请求,请求被dispatcherServlet 捕获对url进行解析,根据URL,调用handlermapping找到对应的handler进行处理,执行完成后返回给modelandview返回给前端;
  • dispatcherservlet根据modelandview对象调用视图解析器viewresolver进行结果渲染,返回到客户端

Struts2和springmvc的区别:

  • 核心控制器:用途是处理所有的请,Struts2核心控制器是filter,而springMVC核心控制器是servlet。
  • 控制器实例:springMVC是基于方法设计的,而Struts是基于对象,每次发送一个请求都实例化一个action,每个action都会注入。而springmvc只有一个实例,每次请求执行对应的方法即可
  • 管理方式:springMVc是spring中的一个模块,通过spring管理更加简单方便,而Struts采用很多xml参数进行管理
  • 参数传递:springmvc通过方法参数进行接收,Struts2则是自身提供
  • 学习难度:Struts的拦截器、值栈、ognl表达式学习成本高,而springmvc比较简单,较快上手
  • interceptor的实现机制:Struts有自己的拦截器机制,而springmvc则是用的独立的aop方式。导致Struts的配置文件比springmvc大,springmvc更加简洁,开发效率也比Struts高很多

spring的两大核心

IOC

核心原理:(容器map)+反射(工厂模式)+配置文件

AOP

核心原理:注解+动态代理(cglib+jdkproxy)在执行前后或者异常后做相关逻辑,主要用aop来做:事务处理,日志记录、权限判断

spring的事务传播特性

  • propagation——required :如果存在一个事务就支持当前事务,如果没有则开启事务
  • propagation——supports:如果存在一个事务支持当前事务,如果没有则以非事务的方式执行
  • propagation——mandatory:如果存在一个事务则支持事务,如果没有一个事务则抛出异常
  • propagation——requires-new:总是开启一个新的事务,如果一个事务已经存在则将这个存在的事务挂起
  • propagation——not-supported:总是非事务的执行,并挂起任何存在的事务
  • propagation——never:总是非事务的执行,如果存在一个活动的事务则抛出异常
  • propagation——nested:如果一个活动的事务存在,则运行在一个嵌套的事物中,如果没有活动事务,则按照propagation-required属性执行

什么是框架?spring mvc框架相关推荐

  1. Spring MVC 框架搭建及详解

    现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过 ...

  2. spring mvc框架设计与实现

    spring mvc框架通过DispatcherServlet来作请求分发,主要由HandlerMapping,HandlerAdapter,HandlerInterceptor三个抽象来完成.通过H ...

  3. 搭建基于spring MVC框架 + RESTful架构风格技术总结

    2019独角兽企业重金招聘Python工程师标准>>> 实战篇: 在SpringMVC框架中搭建RESTful架构风格来完成客户端与服务器端的低耦合度.可扩展性.高并发与大数据流量的 ...

  4. 从 0 开始手写一个 Spring MVC 框架,向高手进阶

    转载自   从 0 开始手写一个 Spring MVC 框架,向高手进阶 Spring框架对于Java后端程序员来说再熟悉不过了,以前只知道它用的反射实现的,但了解之后才知道有很多巧妙的设计在里面.如 ...

  5. 从零开始学java 框架_从零开始学 Java - 搭建 Spring MVC 框架

    如果创建一个 Spring 项目 Spring MVC 框架在 Java 的 Web 项目中应该是无人不知的吧,你不会搭建一个 Spring 框架?作为身为一个刚刚学习Java的我都会,如果你不会的话 ...

  6. springmvc流程_基于Spring MVC框架的Http流程分析

    一.问题提出 我们可以方便的利用Spring MVC进行业务开发,请求的大部分工作都被框架和容器封装,使得我们只需要做很少量的工作.但是整个http请求流程是怎么样的?Spring MVC框架在其中起 ...

  7. local tomcat 找不到springmvc里的包_唰唰的手撕一个简单的Spring Mvc 框架

    @[TOC] 自定义实现Spring Mvc框架 前言 在使用Spring Mvc时候我们需要配置一个中央处理器DispatcherServlet用于分发请求,根据url查找处理器,然后再根据处理器 ...

  8. 自己手写一个Spring MVC框架

    想要了解Spring MVC框架的原理,探究框架是如何设计的,不错的学习方式是阅读源码,然后自己手写一个框架.本文带领大家简化的手写一个Spring MVC框架. Spring框架对于Java后端程序 ...

  9. Spring MVC框架-持久层用hibernate自动化(1)

    ##Spring MVC Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 MVC ...

最新文章

  1. linux目录和文件管理命令
  2. 如何定义和建立架构?
  3. 安卓4.4玩java_Android4.4运行过程中闪退java.lang.NoClassDefFoundError
  4. 「机械」4大传动方式优劣对比:机械、电气、气压、液压
  5. LinuxC高级编程——进程
  6. 深度学习attention原理_深度学习Anchor Boxes原理与实战技术
  7. c# 事件和委托的区别,使用事件的好处
  8. android 禁止屏幕放大缩小,禁止APP内Webview页面跟随系统缩放字号
  9. python导出项目_使用Python项目生成所有依赖包的清单方式
  10. 语音测试,串口和adb
  11. LINUX实验---网络管理
  12. caffe编译-CUDNN_STATUS错误解决方案
  13. ps证件照白底换蓝底_【插件】PS插件证件照V2.0一键裁剪排版磨皮换装换底色软件2020Mac/Win完整版...
  14. 【蓝桥杯单片机的备赛旅行日记系列】之国赛决赛第五届多功能事件记录器
  15. 自制恋爱话术APP永久免费使用
  16. Mac下cmake使用
  17. js判断两个时间是否超过一年
  18. 树莓派 docker homeassistant supervisor安装
  19. 输入框:请输入关键字 小功能
  20. PaaS市场迎风口,JEPaaS助你一臂之力

热门文章

  1. “约见”面试官系列之常见面试题第三十一篇之vue-router得守卫(建议收藏)
  2. 前端学习(2130):编译作用域的概念
  3. 前端学习(1424):ajax低版本兼容问题
  4. 前端学习(654):优化插件
  5. 14. 表单标签及其应用实例
  6. 医疗:ICU(10)
  7. 秒杀系统 mysql_秒杀系统-介绍
  8. 程序根据手机机型设置自定义底部导航距离
  9. DHCP的4步租约过程
  10. Python无法导入Cython的.pyx文件