技能特长总结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 的请求处理框架,核心流程:请求接收 → 路由分发 → 控制器处理 → 视图解析。

image-20250806223505422

过滤器和拦截器的区别:

过滤器:实现 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语句依赖于数据库 导致数据库的移植性比较差 不能随意更换数据库

Spring Cloud Alibaba,包括常用的组件(Gateway、Nacos、Sentinel、Zipkin、Feign等),微服务架构

MySQL,SQL语言,了解MySQL的底层结构、SQL优化、事务隔离级别

Redis,Redis持久化机制、过期删除策略、内存淘汰策略、事务,redis缓存雪崩和缓存穿透。

消息中间件RabbitMQ,其异步通信机制、消息路由及可靠性配置。

I/O流、异常、反射、动态代理等机制。

DFS、BFS、回溯算法、动态规化、图论、二分查找、二叉树、链表

Git、Maven、Docker、Nginx、Postman等开发工具,了解Linux的常用命令。

JVM内存结构以及垃圾回收算法、垃圾回收器。

项目部署上线流程,并有相关部署经验。

扣子智能体底层工作流,并有相关开发经验;能灵活运用AI工具进行编码,如Cursor、Deepseek等

了解HTML、CSS、JavaScript、Vue、Ajax、Element-ui等前端开发技术,能够进行前后端分离开发。

posted @ 2025-08-07 22:30  Charon-YC  阅读(11)  评论(0)    收藏  举报