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将调用setBeanFactoy0方法 ,将bean所在的应用引用传入进来。
5.如果bean实现了ApplicationContextAware接口。Spring将调用setApplicationContext0方法, 将bean所在的应用引用传入进来。
6.如果bean实现了BeanPostProcessor接口,Spring将调用他们的ostroocssBeforelnitaliz ation0方法。
7.如果bean实现了InitializingBean接口,Spring将调用 他们的after-PropertiesSet()方法。类似地,如果bean使用init-method声明了初始化方法,该方法也会被调用。
8.如果bean实现了BeanPostProcessor接口, Spring将调用它们的pst-ProessterInitializ ation()方法。
9.此时,bean已经准 备就绪,可以被应用程序使用了,他们将一直驻留在应用上下文中直到该应用被销毁。
10.如果bean实现了DisposableBean接口,Spring将 调用它的detory0接口方法,同样,如果bean使用destroy-method声明了销毁方法,该方法也会被调用。