1. 什么是Spring框架?
- Spring框架是由于软件开发的复杂性而创建的,Spring使用的是基本的JavaBean来完成之前只可能由EJB完成的事。从简单性、可测性和松耦合性角度而言,绝大部分Java应用都可以用Spring
2. Spring整体架构
大约分为20个模块
3. Spring可以做什么?
4. Spring优缺点?
- 优点
- Spring属于低侵入设计
- IOC将对象之间的依赖关系交给Spring,降低组件之间的耦合,实现各个层之间的解耦,让我们更专注于业务逻辑
- 提供面向切面编程
- 对各种主流插件提供很好的集成支持
- 对事务的支持很好,只要配置即可,无须手动控制
- 缺点
- 依赖反射,影响性能
5. Spring5几个新特性举例
- Spring5整个框架基于Java8
- 支持http/2
- Spring Web MVC支持最新API
- Spring WebFlux响应式编程
- 支持Kotlin函数式编程
6. 什么是IOC?
- IOC, 控制反转(Inversion of Control)的简称,负责创建对象、管理对象(通过依赖注入)、整合对象、配置对象以及管理这些对象的生命周期
7. 什么是依赖注入?
- 依赖注入是Spring实现IOC的一种重要手段,将对象间的依赖关系的控制权从开发人员手里转移到容器
8. IOC注入的几种方式
- 构造器注入
- setter注入
- 接口注入(几乎不用)
9. IOC优缺点
- 优点
- 组件之间的解耦,维护程序可维护性、灵活性
- 缺点
- 创建对象步骤复杂,有一定学习成本
- 利用反射创建对象,效率上有损(对于代码灵活性和可维护性来看,Spring对于我们的开发带来了很大的便利,这点损耗影响不是很大)
10. bean的生命周期?
- Spring对bean进行实例化
- Spring将值和bean的引用注入到bean对应的属性中
- 如果bean实现了BeanNameAware接口,Spring将bean的ID传递给setBeanName()方法
- 如果bean实现了BeanFactoryAware接口,Spring将调用setBeanFactory()方法,将bean所在的应用引用传入进来
- 如果bean实现了ApplicationContextAware接口,Spring将调用setApplicationContext()方法,将bean所在的应用引用传入进来
- 如果bean实现了BeanPostProcessor接口,Spring将调用他们的post-ProcessBeforeInitalization()方法
- 如果bean实现了InitializingBean接口,Spring将调用他们的after-PropertiesSet()方法,类似的,如果bean使用了init-method声明了初始化方法,该方法也会被调用
- 如果bean实现了BeanPostProcessor接口,Spring将调用它们的post-ProcessAfterInitialization()方法
- 此时,bean已经准备就绪,可以被应用程序使用了,它们将一直驻留在应用上下文中,直到该应用被销毁
- 如果bean实现了DisposableBean接口,Spring将调用它的destory()接口方法,同样,如果bean使用destroy-method声明了销毁方法,该方法也会被调用
上一篇:Java面试手册V2.0+突击V3.0知识点整理(二十八) 附封面图片
下一篇:Java面试手册V2.0+突击V3.0知识点整理(三十) 附封面图片
如果觉得封面图片还行,请顺手点个赞



