1、Spring 主要思想是什么,回答 IOC 和AOP,怎么自己实现 AOP ?
IOC 的好处
使用基于反射的动态代理
2、SpringAOP 用的哪一种代理
JDK 动态代理,这种是一般意义上的动态代理;用一个代理类来间接调用目标类的方法。目标类如果实现了接口那就用这种方式代理。
cglib 动态代理。通过框架转换字节码生成目标类的子类,并覆盖其中的方法实现增强,因为采用的是继承,所以不能对 final 类进行代理。目标类没有实现任何接口,就使用这种方法
3、spring bean 初始化过程
读取 XML 资源,并解析,最终注册到 Bean Factory 中
4、spring bean 对象的生命周期
当一个 bean 被实例化时,它需要执行一些初始化(init-method)使它转换成可用状态。同样,当 bean 不再需要,并且从容器中移除时,需要做一些清除工作(destroy-method)
5、讲讲 Spring 中 ApplicationContext 初始化过程。
ApplicationContext 的初始化重点是在refresh方法,其中最关键的几步是:
创建 bean Factory
初始化消息源
初始化应用事件传播器
初始化单例 bean
6、SpringMVC 处理请求的流程
收到用户请求
dispatcher Servlet 将请求转发到相应的 Controller
通过 View Resolver 进行视图解析
返回给用户
7、SpringMVC 的设计模式
8、Spring 的 annotation 如何实现
9、Spring拦截器怎么使用,Controller是单例吗
Controller 是单例的,跟 Servlet 一样。
基于 XML 配置文件
基于注解
基于 Spring 定义的 MethodInterceptor 接口
关注重庆java圈