Java 面试问题系列三(Spring)

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圈

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,975评论 6 342
  • 文章作者:Tyan博客:noahsnail.com 3.4 Dependencies A typical ente...
    SnailTyan阅读 4,228评论 2 7
  • 什么是Spring Spring是一个开源的Java EE开发框架。Spring框架的核心功能可以应用在任何Jav...
    jemmm阅读 16,574评论 1 133
  • 每当被人问起:“你是为什么开始抽烟的,爱情受挫?”我总是会在内心默默发笑。就好像听见别人问你:“你为什么跟你男友在...
    TamaraQ阅读 629评论 1 1