- 直接访问链接:https://t.zsxq.com/14F2uGap7
- 微信扫码下图:
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?
负责创建对象、管理对象(通过依赖注入)、整合对象、配置对象以及管理这些对象的生命周期。
7.什么是依赖注入?
依赖注入是Spring实现IoC的一种重要手段,将对象间的依赖关系的控制权从开发人员手里转移到容 器。
8.IOC注入哪几种方式?
1.构造器注入
2.setter注入
3.接口注入(我们几乎不用)
9.IOC优点?缺点?
优点:
组件之间的解糯,提高程序可维护性、灵活性。
缺点:
创建对象步骤复杂,有一定学习成本。
利用反射创建对象,效率上有损。(对于代码的灵活性和可维护性来看, Spring对于我们的开发带来 了很大的便利,这点损耗不算什么喷)
10.bean 的生命周期?
1.Spring 对bean进行实例化。
2.Spring将值和bean的引用注入到 bean对应的属性中。
3.如果bean实现了BeanNameAware接口, Spring将bean的ID传递给setBeanName()方法。
4.如果bean实现了BeanFactoryAware接口, Spring将调用setBeanFactory()方法,将 bean所在的应用引 用传入进来。
5.如果bean实现了ApplicationContextAware接口, Spring将调用setApplicationContext()方法,将bean 所在的应用引用传入进来。
6.如果bean实现了BeanPostProcessor 接口, Spring将调用他们的post-ProcessBeforeInitalization()方 法。
7.如果bean实现了InitializingBean接口, Spring将调用他们的after-PropertiesSet()方法,类似地,如果 bean使用init-method声明了初始化方法,该方法也会被调用。
8.如果bean实现了BeanPostProcessor接口, Spring将调用它们的post-ProcessAfterInitialization()方法。
9.此时, bean已经准备就绪,可以被应用程序使用了,他们将一直驻留在应用上下文中,直到该应用被销 毁。
10.如果bean实现了DisposableBean接口, Spring将调用它的destory()接口方法,同样,如果bean使用 destroy-method声明了销毁方法,该方法也会被调用。