第125次(Spring)
学习主题:Spring框架
学习目标:
1 掌握spring的事务管理
1. 事务管理简介及环境搭建
(1) 请回顾下事务具有哪些特性,分别是什么含义?
1. 原子性:事务包含的所有操作要么全部成功,要么全部失败回滚。
2. 一致性:事务执行前和执行后必须
3. 隔离性:当多个用户并发访问数据库时,数据库为每一个用户开启的事务,不被其他事务的操作所干扰,多个并发事务之间要相互隔离
4. 持久性:一个事务一旦被提交了,name对数据库中的数据的改变就是永久性的,即便在数据库系统遇到故障的情况下也不会丢失事务的操作。
(2) 说出DataSourceTransactionManager与HibernateTransactionManager应用场景?
DataSourceTransactionManager:使用JDBC或MyBatis进行持久化数据时使用。
HibernateTransactionManager:使用Hibernate进行持久化数据时使用。
2. 事务管理-代码编写(对应视频为36-39)
(1) Spring的TransactionDefinition接口中定义了哪些事务相关常量?
传播行为、隔离级别、事务超时。
PROPAGATION_REQUIRED:如果存在一个事务,则支持当前事务,如果没有事务则开启一个新的事务。
PROPAGATION_SUPPORTS:如果存在一个事务,支持当前事务。如果没有事务,则非事务执行。
PROPAGATION_MANDATORY:如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。
PROPAGATION_REQUIRES_NEW:总是开启一个新的事务。如果一个事务已经存在,则将这个存在的事务挂起。
PROPAGATION_NOT_SUPPORTED:总是非事务地执行,并挂起任何存在的事务
PROPAGATION_NEVER总是非事务地执行,如果存在一个活动事务,则抛出异常
PROPAGATION_NESTED如果一个活动的事务存在,则运行在一个嵌套的事务中
(2) 你是如何理解事务的传播行为的?
事务传播行为指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行。
第126次(OA系统)
学习主题:OA系统
学习目标:
1 掌握springmvc框架搭建,拦截请求
2 掌握什么是mvc,掌握springmvc的运行原理
3. 事务管理-AspectJ的AOP配置方式管理事务
(1) 请描述AspectJ的AOP配置方式管理事务的spring配置信息有哪些?
(2) 事务通知标签的子标签有哪些,是什么意思?
<tx:attributes>配置事务的属性
<tx:method>为方法添加事务
4. 事务管理-事务注解管理事务
(1) 请描述事务注解管理事务的spring配置信息有哪些?
(2) <tx:annotation-driven>需要配置哪些属性?
transaction-manager
5. MVC介绍
(1) 什么是MVC?
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,它是一种软件设计典范,是一种软件架构设计分层模式。
(2) 简述Model1和Model2的优缺点?
Model1(jsp+javabean):Model1的中心是JSP页面,JSP页面中结合业务逻辑,服务端处理过程和HTML等,这样就在JSP页面中同时实现了业务逻辑和流程控制。从而快速开发。
优点:简单,快速开发,使用小规模开发;
缺点:业务逻辑和表示逻辑混合在JSP页面中没有进行抽象和分离,JSP负载太大。所以非常不利于应用系统业务的重用和改动,不便于维护。
Model2(jsp+servlet+javabean):其实是在Model1基础上又抽了一层控制层。
优点:具有组件化的优点从而更易于实现对大规模系统的开发和管理,职责划分清晰。
缺点:不适合小项目开发。
6. SpringMVC简介
(1) 什么是SpringMVC?
是spring框架的一部分(子框架),是实现对Servlet技术进行封装。
(2) 目前市场上流行的MVC框架有哪些?
SpringMVC、Structs、Jfinal
7. SpringMVC运行原理
(1) 请描述SpringMVC运行原理?
(2) SpringMVC底层运行主要涉及哪些组件?
中央调度器 DispatcherServlet
处理器映射器 HandleMapping
处理器适配器 HandleAdaptor
处理器 Controller
视图解析器ViewResolver
视图 View
8. 配置式开发01
(1) 如何搭建SpringMVC配置式开发环境?
导入jar包(webmvc、web、context-support)
配置web.xml,注册SpringMVC前端控制器(中央调度器)
编写SpringMVC后端控制器(注意id写法格式)
编写跳转资源页面
(2) 使用SpringMVC在原有Spring jar包基础上又导入哪些Spring 的jar包?
webmvc、web、context-support
9. 配置式开发02
(1) 使用SpringMVC是如何实现资源跳转的?
modelAndView.setViewName();
(2) 配置式开发,注册后端控制器需要注意什么问题?
id要写成路径的格式
10. urlpattern配置问题
(1) 前端控制器的拦截路径如何配置?
<servlet-mapping>
<servlet-name>前端控制器别名</servlet-name>
<url-pattern>要拦截的路径</url-pattern>
</servlet-mapping>
(2) 如果拦截路径配置成 “/”会有什么问题,配置成 “/*”会有什么问题?
/ 会拦截所有的静态资源,不会拦截jsp页面。
/* 拦截一切包括jsp页面。
11. 注解式开发-入门1
(1) 使用SpringMVC注解式开发项目环境搭建步骤?
1. 后端控制器无需实现接口,添加相应注解
2. springmvc配置文件无需注册controller
3. springmvc配置文件中添加组件扫描器、注解驱动<mvc:annotation-driven/>
(2) SpringMVC的配置文件中需要配置哪些内容?
12. 注解式开发-入门2
(1) 在后端控制器类体上可以加哪些常用的注解?
@Controller、@RequestMapping、@Scope
(2) 加到类体上的@RequestMapping起到什么作用?
起到限定范围的作用