Spring

Spring

Spring Sping MVC MyBatis介绍
Spring模块

Spring Core: 基础,可以说 Spring 其他所有的功能都需要依赖于该类库。主要提供 IoC 依

赖注⼊功能。

Spring Aspects : 该模块为与AspectJ的集成提供⽀持。

Spring AOP :提供了⾯向切⾯的编程实现。

Spring JDBC : Java数据库连接。

Spring JMS :Java消息服务。

Spring ORM : ⽤于⽀持Hibernate等ORM⼯具。

Spring Web : 为创建Web应⽤程序提供⽀持。

Spring Test : 提供了对 JUnit 和 TestNG 测试的⽀持。

Spring IOC AOP!

IOC:控制反转。即将原本在程序中手动创建对象的控制权,交由 Spring 框架来管理。目的是减低类与类之间的耦合度。

DI:依赖注入。为了实现控制反转(把有依赖关系的类加注解或者在xml文件中写好就相当于放到IOC容器中,解析出这些类的实例)

AOP:面向切面编程。把与业务无关但是又为业务所用部分给封装起来,比如事务处理,日志管理,有利于减少系统的重复代码,降低模块间的耦合度,增强程序的可拓展性和可维护性。例如计算器方法,日志与业务混合在一起,我们可以把日志代码全都抽离出去统一进行处理,只在方法中保留核心的业务代码。

Spring依赖注入的方式

四种,set方法,构造方法,静态工厂,实例工厂

Spring使用的两种代理方式

jdk代理:当类有实现接口时,通过实现接口的代理类,当调用方法时,会被invokeHandel拦截由该方法调用处理器来进行处理。
cglib代理:当类没有实现接口的时,通过该类加载器对类的字节码修改生成一个该类的子类,由子类提供方法的实现。

Spring事务管理方式

管理事务的方式有编程式事务,声明式事务(在配置文件中进行配置)

声明式事务分为基于XML,基于注解

Spring Bean生命周期

Bean的定义——Bean的初始化——Bean的使用——Bean的销毁

单例模式

Mybatis

MyBatis 是一个可以自定义 SQL、存储过程和高级映射的持久层框架。优点是避免了手写 JDBC代码和手动设置参数以及获取结果集。

Mybatis分页方式

数组分页,查询出所有数据再用list截取所需部分

SQL分页,拦截器分页,rowbounds分页

Mybatis一级缓存二级缓存

一级缓存是基于sqlSession默认开启的,在操作数据库的时候需要构造sqlSession对象,在对象当中有一个HashMap用于存储缓存数据。一级缓存的作用域是一个sqlsession内。当在同一个sqlSession中执行两次相同的SQL语句,第一次执行完毕后会把查询到的数据写到缓存中,而第二次会从缓存中获取数据,

二级缓存需要手动开启,作用域是mapper的同一个namespace,也就是多个session之间。

#{}和${}

Spring MVC

MVC工作流程
  1. 浏览器发送请求到前端控制器DispatcherServlet。前端控制器根据请求,调用处理器映射器HandlerMapping,解析该请求对应的处理器Handler并进行HandlerAdapter适配器处理
  2. HandlerAdapter适配器根据Handler调用真正的处理器,处理之后返回给前端控制器DispatcherServlet以一个ModelAndView对象,返回的数据对象和逻辑上的view
  3. 视图解析器ViewResolver根据逻辑上的view返回实际的view
  4. 前端控制器DispatcherServlet把返回的Model传给view进行视图渲染
  5. 把view返回给请求者也就是浏览器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值