天天看点

Spring面试题

1.谈谈你对Spring的理解

     Spring是一种框架,很多代码的开发都依赖于它。它是一个存储bean的容器,管理整个bean的生命周期。bean的注入可以通过配置文件或者注解两种方式。当你程序启动的时候,Spring会把你配置文件中有关bean的信息去存储在一个叫BeanDefinition的对象里面,BeanFactory会根据你的对象信息进行扩展,生成一个新的对象,当你想要使用这个对象的时候,通过getbean的方式即可拿到。

2.bean的生命周期

1.bean实例化,通过配置文件或注解

2.bean的依赖注入,将这个bean相关的属性注入

3.有关aware接口的依赖注入,它会注入一些有关beanid,bean工厂的一些有关信息

4.BeanPostProcessor的一个前置的初始化

5.对象的本来的初始化

6.BeanPostProcessor的后置初始化操作

7.destroy的方式销毁对象

3.AOP的底层原理

使用动态代理的方式去实现的,当你扫描到一个AOP的注解时,它会生成一个该类的代理类对象,该代理对象会按顺序执行的切点的一个代码顺序

jdk的动态代理:实现接口

CGlib的动态代理:继承子类,用于没有接口的情况下

继续阅读