spring
现在Java的主流框架非Spring莫属,Spring兴起于2003年,spring最初的想法是想让JAVA EE开发应该更加简单,为JavaBean提供了一个更好的应用配置框架。那么经历了10几年的框架,已经成为了Java的主流框架,并且也有Spring自己体系。
面对10几年主流开发框架,必须要知道的Spring框架面试题你了解多少呢?
面试
1. Spring的IOC,DI是什么?
IOC:控制反转 负责创建对象,管理这些对象的整个生命周期
DI: 依赖注入,控制反转是通过依赖注入实现的
IOC和DI是同一的概念,它们是从不能的角度阐述同一个功能,描述的对象不同而已。
2. Spring的AOP是什么?
Spring的aop是面向切面编程,它和OOP相辅相成,提供了不同抽象软件的结构视角,它们是以类为单元,aop基本单元其实就是切面
3. 有哪些不同类型的IOC(依赖注入)方式?
a. 构造器依赖注入
b. Setter方法注入
4. Spring支持的几种bean的作用域
a. singleton单例模式,当spring容器创建一个 bean,在整个容器里面只有一个singleton单例模式创建出来的bean。
b. prototype原型模式,每次由原型模式创建出来的bean,都是创建一个新的bean。
c. request,对于每一次HTTP请求时,http创建的bean是新的,所以每次http请求都是全新实例。
d. session,对于每次http的session都是创建一个新的实例。
e. globalsession ,每个全局的HTTP Session,使用session定义的Bean都将产生一个新实例
生命zhouqi
5.解释Spring框架中bean的生命周期流程
Spring IoC容器找到关于Bean的定义并实例化该Bean。Spring IoC容器对Bean进行依赖注入。如果Bean实现了BeanNameAware接口,则将该Bean的id传给setBeanName方法。如果Bean实现了BeanFactoryAware接口,则将BeanFactory对象传给setBeanFactory方法。如果Bean实现了BeanPostProcessor接口,则调用其postProcessBeforeInitialization方法如果Bean实现了InitializingBean接口,则调用其afterPropertySet方法。如果有和Bean关联的BeanPostProcessors对象,则这些对象的postProcessAfterInitialization方法被调用。当销毁Bean实例时,如果Bean实现了DisposableBean接口,则调用其destroy方法。