springmvc 优点_071-事务管理、SpringMVC配置式开发、注解式开发

1. 事务管理简介及环境搭建

(1) 请回顾下事务具有哪些特性,分别是什么含义?

提交、回滚、获取事务状态信息

(2) 说出DataSourceTransactionManager与HibernateTransactionManager应用场景?

DataSourceTransactionManager:使用JDBC或MyBatis进行持久化数据时使用

HibernateTransactionManager:使用Hibernate进行持久化数据时使用

2. 事务管理-代码编写

(1) Spring的TransactionDefinition接口中定义了哪些事务相关常量?

事务隔离级别、事务传播行为、事务默认超时时限,以及对它们的操作

(2) 你是如何理解事务的传播行为的?

事务A的方法调用事务B的方法时,事务B方法该如何进行的行为。

3. 事务管理-AspectJ的AOP配置方式管理事务

(1) 请描述AspectJ的AOP配置方式管理事务的spring配置信息有哪些?

bc36c47d39929b8088f71dc395a56dfa.png

(2) 事务通知标签的子标签有哪些,是什么意思?

<tx:advice>:事务通知标签。transaction-manager:事务管理器

<tx:attributes>:配置事务属性。

Name:需要配置的方法。

isolation="DEFAULT":事务隔离级别。

propagation="REQUIRED":事务传播行为,默认为如果当前没有事务就创建一个事务,如果已经存在一个事物,则加入到这个事务中。

read-only:只读。当执行的事务只读取时可设置为true,提高查询速率。

rollback-for:回滚。

No-rollback-for:不回滚。

Timeout:超时时限,单位为秒。超出时限事务断开。

4. 事务管理-事务注解管理事务

(1) 请描述事务注解管理事务的spring配置信息有哪些?

dd79bfddb0a152e104717146ee071bdb.png

(2) <tx:annotation-driven>需要配置哪些属性?

只需配置事务管理器

5. MVC介绍

(1) 什么是MVC?

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,它是一种软件设计典范,是一种软件架构设计分层模式。

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。

View(视图)是应用程序中处理数据显示的部分。

Controller(控制器)是应用程序中处理用户交互的部分。

(2) 简述Model1和Model2的优缺点?

①Model1:中心是JSP页面,JSP页面中结合业务逻辑、服务端处理过程和HTML等,这样就在JSP页面中同时实现了业务逻辑和流程控制,从而快速开发

优点:简单、快速开发、适用小规模开发

缺点:业务逻辑和表示逻辑混合在JSP页面中没有进行抽象和分离,JSP负载较大。不利于应用系统业务的重用和改动,不便维护。

②Model2:基于MVC模式的框架。通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。

优点:具有组件化的优点更易于大规模系统的开发和管理,职责划分清晰

缺点:不适合小项目开发

6. SpringMVC简介

(1) 什么是SpringMVC?

是spring框架的一部分(子框架),实现了对Servlet技术进行封装。

(2) 目前市场上流行的MVC框架有哪些?

SpringMVC、Struts、Jfinal

7. SpringMVC运行原理

(1) 请描述SpringMVC运行原理?

浏览器发送请求到中央调度器/前端控制器(DispatcherServlect),中央调度器对请求进行判断。并将请求发送给处理器映射器,处理器映射器根据接受到的请求找到相应的处理器,并对请求封装成处理器执行链对象返还给中央调度器。中央调度器将处理器执行链发送到处理器适配器,处理器适配器根据收到的请求找到对应的处理器进行处理,处理器返回ModelAndView对象给处理器适配器,处理器适配器再把ModelAndView对象返还给中央调度器。中央调度器将ModelAndView对象发送到视图解析器(对视图进行解析,由逻辑视图名解析成物理视图名),视图解析器解析后将view对象返还给中央调度器。中央调度器将view对象发送到视图组件,视图组件将视图进行渲染并将view对象发送给中央调度器,中央调度器再返还给浏览器

6af652f0ee3aad8071536a153cadebac.png

(2) SpringMVC底层运行主要涉及哪些组件?

中央调度器、处理器映射器、处理器适配器、处理器、视图解析器、视图

8. 配置式开发

(1) 如何搭建SpringMVC配置式开发环境?

①导入jar包

②配置web.xml,注册SpringMVC前端控制器(中央调度器)

③编写SpringMVC后端控制器

④编写SpringNVC配置文件,注册后端控制器

⑤编写跳转资源页面

(2) 使用SpringMVC在原有Spring jar包基础上又导入哪些Spring 的jar包?

spring-webmvc-4.1.6.RELEASE.jar

spring-web-4.1.6.RELEASE.jar

spring-context-support-4.1.6.RELEASE.jar

9. 配置式开发

(1) 使用SpringMVC是如何实现资源跳转的?

73eb9820d3e89f8cc74f140c729c6853.png

(2) 配置式开发,注册后端控制器需要注意什么问题?

在web.xml设定配置文件springmvc的访问路径和文件名称、请求路径名要与拦截的后缀相同并且以“/”开头。

10. urlpattern配置问题

(1) 前端控制器的拦截路径如何配置?

①*.xx:拦截controller中的路径尾部以.xx结尾的请求

②/:当请求格式为“ref”时,必须使用。但是所有静态资源都会被拦截

解决静态资源被拦截:

①在web.xml中配置

<servlet-mapping>

<servlet-name>default</servlet-name>

<url-pattern>*.xx</url-pattern>

</servlet-mapping>

(放行后缀名为.xx的文件)

②在spring.mvc中配置

<mvc:default-servlet-handler/>

③在spring.mvc中配置

<mvc:resources location=”/文件名/” mapping=”/文件名/**”>

(放行此文件名路径下的所有文件)

(2) 如果拦截路径配置成 “/”会有什么问题,配置成 “/*”会有什么问题?

“/”:所有静态资源都会被拦截

“/*”:拦截所有访问,导致404错误。

11. 注解式开发-入门

(1) 使用SpringMVC注解式开发项目环境搭建步骤?

①后端控制器无需实现接口,添加相应注解

@Controller//表名将当前类交给spring容器管理

@RequestMapping("/springmvc")//起到限定范围的作用

②springmvc配置文件无需注册controller

③springmvc配置文件中添加组件扫描器、注解驱动

(2) SpringMVC的配置文件中需要配置哪些内容?

51abe7b50eb1389883a9188f51079f87.png

12. 注解式开发-入门

(1) 在后端控制器类体上可以加哪些常用的注解?

@Controller//表名将当前类交给spring容器管理

@Scope("prototype")//作用域

@RequestMapping("/springmvc")//类体上起到限定范围的作用。方法上,请求映射路径

77890eb023572665a8135bed0cfcda8f.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值