Srping面试题
SpringBoot启动流程
SpringBoot的自动装配原理
Spring怎么解决循环依赖
Spring对循环依赖的解决方法可以概括为 用三级缓存方式达到Bean提前曝光的目的
Spring创建的过程简单的可以简单概括为 实例化——>依赖注入——>初始化。而Spring解决循环依赖的方法就是在实例化之后,依赖注入之前,将实例化的对象放到缓存中进行提前曝光,后边的对象则在实例化前,先到缓存中查找有无对应的实例化对象即可,例如
为什么要三级缓存,二级怎么不够?
Spring事务传播机制
Spring Bean的生命周期
Spring AOP和AspectJ AOP的区别
- springAOP 是spring支持的面向切面AOP 编程。
- AspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法,它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。
AspectJ 使用了三种不同类型的织入方式:
Compile-time weaving:编译期织入。编译器将切面和应用的源代码编译在一个字节码文件中。
Post-compile weaving:编译后织入。也称为二进制织入。将已有的字节码文件与切面编制在一起。
Load-time weaving:加载时织入。与编译后织入一样,只是织入时间会推迟到类加载到jvm时。
springAOP使用运行时织入(runtime weaving)
在运行时织入,是使用目标对象的代理对象织入的。