Spring-interview

72 阅读3分钟

Spring IOC

即控制反转,IOC是一种思设计思想,Spring的IOC是对是IOC的一种实现,IOC并不是Spring特有其他语言也具有。创建对象通将创建对象交给容器

Spring AOP

定义: Spring AOP是通过JDK的动态代理或者是GDP代理进行实现,即通过底层是通过反射,代理是通过反射进行实现的。 AOP面向切面编程,将那些与业务无关,却与业务共同调用的逻辑或责任封装起来,减少代码的重复性,降低耦合,方便后期的维护性和可扩展性

用处 用在事务、日志、权限校验

Spring启动流程(refresh方法)

  1. 上锁
  2. 准备刷新(prepareRefresh)
  3. 获取到最新的BeanFactory
  4. 准备BeanFactory
  5. BeanFactory后置处理
  6. 在上下文调用执行为Bean的工厂处理器
  7. 注册Bean后置处理器
  8. 国际化
  9. 初始化事件多播器
  10. 刷新扩展入口
  11. 注册监听
  12. 完成BeanFactory初始化,加载bean
  13. 完成刷新

Spring事务

Spring的事物一、嵌入式事物二、声明式事物推荐使用声明式事物。声明式事物又分为参调式声明和注解式声明。 视频事物的隔离级别有五种,一、读位提交,二读已提交,三可重复读,四串行话,五默认。对于Oracle数据库,默认则是读已提交,对于MYSQL数据库,默认则是可重复读。

事务隔离级别

隔离级别
读未提交
读已提交
可重复读
串行化
默认Spring事务隔离级别为默认,MySQL对应可重复读,Oracle对应读已提交

事务的传播行为(7种)

传播行为
当前存在事务,加入当前事务,当前不存在事务,新建一个事务
当前存在事务,挂起当前事务,新建一个事务
当前不存在事务,报异常
当前不存在事务,以非事务方式运行
当前存在事务,挂起当前事务,以非事务方式运行
当前存在事务,报异常
嵌入事务,

Spring常用注解

标题
给容器注入组件@Controller,@Service,@Repository,@Component
注入第三方包@Import
注入bean@Autowired,@Resource
配置类中@Configuration,@Bean,@Primarily

ApplicationContent和beanFactory有哪些区别或者联系

Spring Bean的生命周期

  1. new对象
  2. set属性
  3. Aware接口
  4. BeanPostProcesser前置处理
  5. initBean接口,init-method方法
  6. BeanPostProcesser后置处理
  7. 使用
  8. destroy接口,destroy-method方法

Spring Bean的作用域

作用域描述
单例只有一个Bean
多例每次调用会生成一个新的Bean
Request每个Request请求会生成一个Bean
Session每个Session会生成一个Bean
Global SessionSpring5.0已弃用

将一个类声明为spring的bean的注解有哪些

方法
@Controller @Service @Respostiry @Component@Bean

Spring常用组件

组件描述
bean
context
core
spEl
Spring MVC
Spring AOP

Spring单例的线程安全问题

Spring单例存在线程安全问题,尽量不使用成员变量,如果使用则需要考虑线程安全问题。可以使用线程安全的集合,ThreadLocal等对象修饰,valiel