1.详细描述什么是Spring?
Spring的核心是一个轻量级的容器,它是实现IoC容器和非入侵性的框架,并提供AOP概念的实现方式;提供对持久层、事物的支持;除此之外,对现存的各种框架,Spring也提供了与他们相整合的方案。
2.什么是Spring IOC?
控制反转,反转了依赖关系的满足方式,由之前的自己创建依赖对象,变为由工厂推送。(变主动为被动,即反转)解决了具有依赖关系的组件之间的强耦合
3.什么是Spring AOP?描述其应用场景
AOP即面向切面编程,简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于后期的可操作性和可维护性。
运用场景:运行时日志 权限管理 事务管理
4.AOP的通知有几个,分别是什么
前置通知、环绕通知、正常返回通知、异常返回通知、后置通知
5.描述Spring Bean的作用域?
作用域 | 描述 |
---|---|
singleton | Bean以单例方式存在,bean作用域范围的默认值 |
prototype | 每次从容器中调用Bean时,都返回一个新的实例 |
request | 每次HTTP请求都会创建一个新的Bean |
session | 同一个HTTP Session共享一个Bean,不同Session使用不同的Bean |
application | 限定一个Bean的作用域为ServletContext 的生命周期 |
6.Spring Bean 注入有几种方式?
set方法注入
构造器注入
工厂方法注入
7.SpringBean 生命周期?
1、创建Bean
2、构造方法注入
3、set方法注入
4、init初始化
5、构建完成
6、销毁
8.Beanfactory和Factorybean的区别
BeanFactory是个Factory,也就是IOC容器或对象工厂,FactoryBean是个Bean。在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器)来进行管理的。但对FactoryBean而言,这个不是简单的Bean,而是一个能生产或者修饰对象生成的工厂Bean。
9.Spring框架中 用到了哪些设计模式?
工厂模式、单例模式、代理模式、模板方法、观察者模式
10.描述Spring事务传播行为?
事务传播行为指的就是当一个事务方法被另一个事务方法调用时,就会产生事务的传播
11.描述Spring事务的隔离级别?
名称 | 描述 |
---|---|
default | 默认值 (采用数据库的默认的设置) |
read-uncommited | 读未提交 |
read-commited | 读提交 (Oracle数据库默认的隔离级别) |
repeatable-read | 可重复读 (MySQL数据库默认的隔离级别) |
serialized-read | 串行化 (事务按顺序执行) |
12.Spring事务传播行为REQUIRED和REQUIRES_NEW区别
REQUIRED:默认传播级别,如果上下文中存在事务则加入当前事务,如果不存在事务则新建事务执行
EQUIRES_NEW:每次执行都会创建新事务,并同时将上下文中的事务挂起,执行完当前线程后再恢复上下文中事务