ssm复习总结

1.Spring处理的是企业级开发的业务逻辑层和其它层的耦合问题。

2.Spring功能模块分布在核心容器层,数据访问/集成层,Web层,面向切面的编程模块,植入模块,消息传输模块,测试模块。

3.AOP是面向切面编程,OOP以类为程序基本单元,AOP以切面为程序基本单元。

4.AOP采取横向抽取机制,将散落在各部分的重复代码提取出来应用到需要执行的地方。AOP与OOP相辅相成。

5.AOP实验中,在MyAspect下

@Aspect//声明一个切面

@Component//让此切面成为Spring容器管理的Bean

定义切入点@Pointcut

依次书写前置通知@Before,后置返回通知@AfterReturning,环绕通知@Around,异常通知@AfterThrowing,后置最终通知@After

6.Spring的声明式事务管理通过AOP实现,本质是对方法前后进行拦截,在目标方法开始前创建或者加入一个事务,在执行完目标方法后提交或者回滚事务

7.与编程式事务管理比较,声明式事务管理最细粒度职能作用到方法级别,无法做到像编程式事务管理的代码块级别

8.事务管理通过基于XML的方式或者@Transactional注解方式

9.MVC思想是将应用分为Model模型,View试图,Controol控制器三部分,让这三部分进行最低耦合协同工作,提高应用可拓展性和可维护性

10.MVC工作原理

4 个 Spring MVC 接口:DispatcherServlet控制器、HandlerMapping、Controller 和 ViewResolver视图解析器。

Spring MVC 所有的请求都经过 DispatcherServlet 来统一分发。DispatcherServlet 将请求分发给 Controller 之前,借助 HandlerMapping 定位到具体的 Controller。HandlerMapping 接口负责完成客户请求到 Controller 映射。

Controller 接口将处理用户请求,这和 Java Servlet 扮演的角色是一致的。一旦 Controller 处理完用户请求,则返回 ModelAndView 对象给 DispatcherServlet 前端控制器,ModelAndView 中包含了模型(Model)和视图(View)。从宏观角度考虑,DispatcherServlet 是整个 Web 应用的控制器;从微观角度考虑,Controller 是单个 Http 请求处理过程中的控制器,而 ModelAndView 是 Http 请求过程中返回的模型(Model)和视图(View)。

ViewResolver 接口(视图解析器)在 Web 应用中负责查找 View 对象,从而将相应结果渲染给客户。

11.以上流程概括为

DispatcherServlet接受所有用户请求,借助 HandlerMapping 定位到具体的 Controller,Controller 处理完用户请求返回 ModelAndView 对象给 DispatcherServlet 前端控制器,最后通过ViewResolver 接口(视图解析器)查找 View 对象,将相应结果渲染给客户。

12.重定向是客户端行为,将用户从当前处理请求定向到另一个试图或处理请求,以前的请求中存放的信息全部失效,进去一个新的request作用域

13.转发是服务器行为,将用户对当前的请求转发给另一个试图或处理请求,以前的request中存放的信息不会失效

14.容器内部完成请求处理和转发动作,转发路径必须是同一Web容器下的URL,中间传递的是自己容器中的request

15.重定向行为是浏览器至少做了两次访问请求

16.MVC拦截器Interceptor用于拦截用户的请求并做相应的处理,通常应用在权限验证、记录请求信息的日志、判断用户是否登录等功能上。

在 Spring MVC 框架中,定义一个拦截器可以通过两种方式:

①一种是通过实现HandlerInterceptor接口或继承HandlerInterceptor接口的实现类来定义;

② 另一种是通过实现WebRequestInterceptor接口或继承WebRequestInterceptor接口的实现类来定义

17.Vue是一套构建用户界面的渐进式框架。与重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层

18.MVVM 模式是由 MVC 衍生而来,当 View 变化时,将自动更新到 ViewModel(视图模型),反之亦然。View 和 ViewModel 之间通过双向绑定(data-binding)建立联系。

19.每个 Vue 实例在被创建时都要经过一系列的初始化过程,例如数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等

20.Vue 的生命周期共分 8 个阶段,8个钩子函数

beforeCreate(创建前):在 Vue 实例初始化后,数据观测和事件配置前调用,此时 el 和 data 并未初始化,因此无法访问 methods、computed 等方法和数据。

created(创建后):Vue 实例创建后被立即调用即 HTML 加载完成前。此时,Vue 实例已完成初始化。挂载阶段还没有开始,el 属性目前不可见。在此钩子函数中对实例进行预处理。

beforeMount(载入前):挂载开始前被调用,Vue 实例已完成编译模板、把 data 里面的数据和模板生成 HTML、el 和 data 初始化,此时还没有挂载 HTML 到页面上。

mounted(载入后):页面加载后调用该函数,一般是第一个业务逻辑在此钩子开始,mounted 只会执行一次。

beforeUpdate(更新前):在数据更新前被调用,发生在虚拟 DOM 重新渲染和打补丁之前,可以在该钩子中进一步更改状态,不会触发附加的重渲染过程。

updated(更新后):在由数据更改导致虚拟 DOM 重新渲染和打补丁时调用,调用时,DOM 已经更新,所以可以执行依赖于 DOM 的操作,应该避免在此期间更改状态,这可能会导致更新无限循环。

beforeUnmount(销毁前):Vue 实例销毁前调用(离开页面前调用),一般在此时做一些重置的操作,例如清除定时器和监听的 DOM 事件。

unmounted(销毁后):在实例销毁后调用,调用后,事件监听器被移出,所有子实例也被销毁。

21.父向子传值用props,子向父传值用$emit或v-model,组件链传值用inject

相关推荐
历程里程碑2 小时前
C++ 17异常处理:高效捕获与精准修复
java·c语言·开发语言·jvm·c++
速易达网络2 小时前
基于Java Servlet的用户登录系统设计与实现
java·前端·mvc
拾贰_C2 小时前
【python | pytorch | 】.报错怎么找到问题所在?
开发语言·pytorch·python
散一世繁华,颠半世琉璃2 小时前
从 0 到 1 优化 Java 系统:方法论 + 工具 + 案例全解析
java·性能优化·操作系统
JasmineWr2 小时前
Java SPI和OSGi
java·开发语言
Lisonseekpan2 小时前
@Autowired 与 @Resource区别解析
java·开发语言·后端
你的冰西瓜2 小时前
C++中的vector容器详解
开发语言·c++·stl
刻BITTER2 小时前
C++ 获取任意整数类型的最大、最小值和长度
开发语言·c++
Gu_yyqx2 小时前
Maven管理工具
java·maven