Spring
IOC控制反转
在没有使用Spring IOC时,对象的创建和赋值是由程序员来决定的,我们使用SpringIOC之后,由Spring来控制对象创建和对象内部赋值。实现了对象的控制权的反转。降低了我们的代码量减少的代码的复杂度。
Spring单例bean
AOP
Spring事务传播
多个事务相互调用时,事务如何在这些方法之间传播,方法A是一个事务方法,方法A执行过程中调用了方法B,方法B有无事务以及方法B堆事务的要求不同都会堆方法A的事务具体执行造成影响,同时方法A的事务对方法B的事务也有影响,这种影响具体是什么就需要定义事务的传播类型来决定。
Spring事务失效
4.方法被final修饰,因为spring事务底层实现使用了代理,aop,通过jdk的动态代理或者cglib,生成了代理类,在代理类中实现了事务功能,如果方法被final修饰,无法重写该方法,也就无法添加事务的功能了
5.方法内部调用,在同一个类的service中,调用其他的事务方法
6.使用事务的对象没有被Spring管理,
Bean的生命周期
循环依赖
SpringMvc
JSP
前后端分离
SpringBoot自动配置原理
注解
Spring注解
SpringMVC注解
SpringBoot注解
Mybatis
延迟加载
Mybatis一级、二级缓存
SpringBoot启动流程
IOC容器初始化流程
Bean生命周期
什么是bean?
在Spring框架中,Bean是核心组件之一,它代表了应用程序中的一个对象实例。Spring容器负责创建这些对象,并管理它们的生命周期、配置以及它们之间的关系。
@Autowied是通过类型来注入的,如果有多个相同类型可以使用@Qualify注解来指定 ,他是Spring框架提供的注解
@Resource是通过名称来注入的,他是java提供的
Bean的循环依赖
MVC执行流程
Spring、SpringMvc、SpringBoot
Spring是一个IOC容器,用来管理Bean,通过依赖注入实现了控制反转,方便整合更多框架;提供AOP机制,弥补了OOP代码的重复问题,实现了将不同类不同方法的共同处理抽取出来形成切面,自动注入给方法执行,比如日志处理,日常处理等。
SpringMVC(M:moedl;V:view;C:controller)是一个整合的Web框架,由一个总的前端控制器Servlet来接受请求,然后定义了路由策略(URl映射到handle地址),以及是配置型handle,将handle返回结果通过视图解析返回给前端。
SpringBoot是一个快速开发Spring+SpringMVC工程的工具包,简化了配置,整合了一系列的解决方案;比如starter机制,实现开箱即用
@Autowired与@Resource
@Autowired是Spring提供的接口,他首先会通过byType的方式去匹配bean,如果存在多个相同名称的bean,再去通过byName去精准匹配一个最合适的,注解只有一个参数requried默认为true,找不到时抛出异常。搭配Qualifier()指定具体bean使用
@Resource是java提供的接口,它通过byName的方式去匹配bean,找到多个时通过byType去匹配。如果没有匹配也会接受null值,不会抛出异常