当前位置: 首页 > news >正文

Spring

1.框架与分层:
  • MyBatis - Dao层 - 和数据库交互

  • SpringMVC - Web层 - 和用户交互

  • Spring - 不属于任何一层 - 整合其他框架

    • 概念 - IOC DI AOP

      • IOC - 控制反转:Spring的IOC容器负责对象的创建和管理,需要哪个对象就从IOC容器中直接获取

      • DI - 依赖注入:赋值

      • AOP - 面向切面编程:不修改源码的情况下,对源码进行增强

    • 实现 - 注解

2.Spring优势
  • 方便解耦,简化开发

  • AOP 编程的支持

  • 声明式事务处理

3.实例化对象常见注解

- 让Spring的IOC容器创建对象

  • @Controller - 在Controller类上

  • @Service - 在Service类上

  • @Repsitory - 在Dao类上

  • @Component - 不属于任何一层的类上

  • ps:四个注解作用完全相同,建议使用的位置不同

4.依赖注入 - 常见注解
  • @Autowired

  • 有参构造方法注入:有参构造方法 + @Autowired

  • set方法注入:setXxx() + @Autowired

  • @Qualifier:结合@Autowired实现根据名称注入,类必须有名称(value)

  • Resource:根据名称注入

5.实例化第三方类

配置类 + @Bean

  • @Configuration:定义在类上,表示这是一个配置类

  • @Bean:将方法的返回值让IOC管理,使用在配置类的方法上

6.其他
  • @ComponentScan: 配置包扫描,指定扫描哪个包

  • @PropertySource:加载properties里的配置

  • @Import(xxx.class):导入其他配置类

  • Transactional:使事务失效

7.AOP
1)动态代理

不修改源码的情况下,对源码进行增强

2)相关概念

见教程

3)通知配置
4)切点表达式
  • 语法

     execution([修饰符] 返回值类型 包名.类名.方法名(参数))
  • 注意:

  1. 访问修饰符可以省略

  2. 返回值类型、包名、类名、方法名可以使用星号*代表任意

  3. 包名与类名之间一个点 . 代表当前包下的类,两个点 .. 表示当前包及其子包下的类

  4. 参数列表可以使用两个点 .. 表示任意个数,任意类型的参数列表

8.事务处理 - 声明式事务处理
  • AOP 

如何使用拦截器

  • 定义拦截器,实现HandlerInterceptor接口

  • 配置拦截器,在自定义的配置类中配置

    • 配置类要实现WebMvcConfigurer接口

    • 重写addInterceptors方法,添加拦截器并配置拦截器拦截和排除的路径

SpringMVC

1.MVC拦截器

如何使用拦截器

  • 定义拦截器,实现HandlerInterceptor接口

  • 配置拦截器,在自定义的配置类中配置

    • 配置类要实现WebMvcConfigurer接口

    • 重写addInterceptors方法,添加拦截器并配置拦截器拦截和排除的路径

EX:登陆验证

 ????????太多啦
2.Swagger
  • 目的:统一文档

  • 配置文件:见教程

  • 配置类:@Configuration @RequestMapping

  • 常见注解


http://www.mrgr.cn/news/9943.html

相关文章:

  • EasyExcel_通过模板导出(多sheet、列表、图片)
  • 基于大语言模型的医疗问答系统的设计与研究
  • 虚幻5|暴击攻击和释放技能,造成伤害
  • 借题《黑神话悟空》,聊聊UE5 游戏开发中基本的 C++ 概念
  • const constexpr
  • ansible之roles
  • 三岁不说话,是自闭症前兆吗?
  • QDialog中的不同模式
  • 5 分钟 Stable Diffusion 本地安装指南
  • 学习记录——day35 数据库 sqlite3
  • 浅谈网络安全模型——PPDR模型
  • leetcode 数组+哈希+双指针+子串+滑动窗口
  • 开发团队如何应对突发的技术故障和危机?快速响应与问题定位策略
  • 《机器学习》决策树 C4.5算法、cart算法
  • 笔记整理—uboot启动过程(6)env_init与init_sequence总结
  • 计算机基础知识复习8.21
  • MySQL——多表操作(一)外键(1)什么是外键
  • 【Oracle问题】ORA-12516:监听程序找不到符合协议堆栈要求的可用处理程序问题处理
  • Windows-Server-2016/2019绕过WindowsDefender
  • 多维度对比社保与个人养老金,个养要不要买?其实社保也是自己买的