栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java面试手册V2.0+突击V3.0知识点整理(二十九) 附封面图片

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java面试手册V2.0+突击V3.0知识点整理(二十九) 附封面图片


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的生命周期?
  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声明了销毁方法,该方法也会被调用

上一篇:Java面试手册V2.0+突击V3.0知识点整理(二十八) 附封面图片
下一篇:Java面试手册V2.0+突击V3.0知识点整理(三十) 附封面图片


如果觉得封面图片还行,请顺手点个赞

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/362341.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号