技能特长总结2
技能特长知识点总结
Java基础,OOP编程思想
OOA: 面向对象分析 需求 转换为 领域模型
OOD: 面向对象设计 领域模型 转换为 逻辑架构
OOP: 面向对象编程 逻辑架构进行编码
OOP好处:易维护 质量高 效率高 易扩展
Spring MVC框架,SpringMVC的执行流程、了解过滤器和拦截器的区别
-
SSM: spring springMVC mybatis
-
四层架构:
- 持久层(dao) mapper层 与数据库联络
- 业务层(service 接口) 业务模块的设计应用
- 表现层(controller) 业务模块的流程控制
- view层 和控制层结合
-
spring
- IOC 容器 控制反转 装载bean 降低模块耦合度
- AOP 面向切面(方法)编程 不改变原有的模型动态修改模型
- 横切关注点:从每个方法中抽取出来的同一类非核心业务代码。
- 切面:封装横切信息点的类,每个关注点体现为一个通知方法。
- 通知:切面必须要完成的各个具体工作,也就是切面里的一个个方法。
- 目标:被通知的对象,也就是被通知方法所作用的对象。
- 代理:像目标对象应用通知之后所创建的代理对象。
- 连接点(JoinPoint):横切关注点在程序代码中的具体体现,对应用程序执行的某个特定位置。(通俗来讲就是一个个的方法)
- 切入点(@Pointcut):切入点就是定位连接点的方式。每个通知上的切入点表达式找到对应的连接点,执行通知之后连接点也就变成了切入点。
-
AOP应用场景
- 不修改源代码 可以对请求链路上的目标方法进行运行耗时统计
- 底层通过动态代理机制实现对目标方法的编程
- 给目标方法添加事务管理
- 给目标方法添加访问控制权限控制
- 对目标方法进行读写
-
AOP依赖:aspectjweaver
-
AOP注解:@Aspect 代表当前类是切面类
-
AOP实现业务代码和非业务代码的接耦合
-
MVC: 模型model (Javabean的类,数据模型) --视图view (JSP 用来展示数据)--控制器controller (接受用户的请求)
-
SpringMVC基于Spring ,是Spring中的一个模块 专门用来做web开发
-
底层就是 servlet 核心是:DispatcherServlet
SpringMVC执行流程:
基于 Servlet 的请求处理框架,核心流程:请求接收 → 路由分发 → 控制器处理 → 视图解析。
过滤器和拦截器的区别:
过滤器:实现 Filter 接口就可实现 通过@WebFilter注解实现对特定URL的拦截
Filter中的三个方法:
- init() 该方法在容器启动初始化过滤器被调用 整个周期被调用一次
- doFilter 容器中每一次请求都会调用该方法
- destory() 容器销毁调用
拦截器: 链式调用 一个请求可以触发多个拦截器 请求的拦截通过HandlerInterceptor实现
HandlerInterceptor接口中的三个方法
-
preHandle() :这个方法将在请求处理之前进行调用。返回false请求结束
-
postHandle():只有在 preHandle() 方法返回值为true 时才会执行。
-
afterCompletion():只有在 preHandle() 方法返回值为true 时才会执行。
区别:
- 实现原理不一样:
- 过滤器 是基于函数回调,拦截器 基于Java的反射机制(动态代理)实现
- 使用返回不同:
- 过滤器 实现的是 javax.servlet.Filter 接口只能在web程序中使用
- 拦截器(Interceptor) 是一个Spring组件,由Spring容器管理,是可以单独使用的
- 触发时机不一样
- 拦截的请求范围不一样
- 注入的bean情况不一样
- 控制执行顺序不一样
Spring Boot、Mybatis、Mybatis-Plus、Activiti7工作流、RouYi等框架。
SpringBoot简化了Spring应用的开发和部署过程
SpringBoot核心理念:"约定大于配置
SpringBoot特色:自动装配@EnableAutoConfiguration
Spring Boot 功能:
- Actuator 可以监控应用的健康状态、性能指标等;
- DevTools 可以加快开发效率,比如自动重启、热部署等;
- Spring Boot Starter 则是一些预配置好的依赖集合,可以快速引入某些常用的功能。
SpringBoot常用注解:
-
@SpringBootApplication:这是 Spring Boot 的核心注解,它是一个组合注解,包含了 @Configuration、@EnableAutoConfiguration 和 @ComponentScan它标志着一个 Spring Boot 应用的入口。
-
@SpringBootTest:用于测试 Spring Boot 应用的注解,加载整个 Spring 上下文,适合集成测试。
-
Mybatis内部封装了JDBC 开发时只需要关注SQL语句本身 不需要花费时间去处理加载驱动 创建链接 创建 statement 等繁杂的过程
-
可以严格控制 sql 执行性能 灵活度高
-
Mybatis可以用XML或者注解来配置和映射原生信息 将POJO映射成数据库中的记录 避免了几乎所有的JDBC代码和手动设置参数以及获取结果集
-
缺点:
- SQL语句的编写量比较大
- SQL语句依赖于数据库 导致数据库的移植性比较差 不能随意更换数据库

浙公网安备 33010602011771号