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

2. 重新认识 IOC

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

2. 重新认识 IOC

2.1 IoC 发展简介

2.2 IoC 主要实现策略
  • 依赖查找

  • 依赖注入

2.3 IoC 容器的职责
  • 依赖处理

    • 依赖查找

    • 依赖注入

  • 生命周期管理

    • 容器

    • 托管的资源(Java Beans 或其他资源)

  • 配置

    • 容器

    • 外部化配置

    • 托管的资源(Java Beans 或其他资源)

2.4 IoC 容器的实现
  • Java SE

    • Java Beans

    • Java ServiceLoader SPI

    • JNDI(Java Naming and Directory Interface)

  • Java EE

    • EJB(Enterprise Java Beans)

    • Servlet

  • 开源

    • Apache Avalon

    • PicoContainer

    • Google Guice

    • Spring Framework

2.5 传统 IoC 容器实现

Java Beans 作为 IoC 容器,特性如下:

  • 依赖查找

  • 生命周期管理

  • 配置元信息

  • 事件

  • 自定义

  • 资源管理

  • 持久化

规范:

  • JavaBeans:Java SE Desktop Technologies

  • BeanContext:Extensible Runtime Containment and Services Protocol forJavaBeans Version 1.0

2.6 轻量级 IoC 容器

2.7 依赖查找 VS. 依赖注入
类型依赖处理实现便利性代码侵入性API 依赖性可读性
依赖查找主动获取相对繁琐侵入业务代码依赖容器 API良好
依赖注入被动提取相对便利低侵入性不依赖容器 API一般
2.8 构造器注入 VS. Setter 注入

Spring 团队推荐使用构造器注入,对象是不可变的确保依赖对象不是空的,缺点是参数过多,代码看起来不是很良好,需要适当进行重构

Setter 注入应该仅用于可选对象的注入

2.9 面试题精选

2.9.1 什么是 IoC

简单的说,IoC 是控制反转,类似于好莱坞原则,主要有依赖查找和依赖注入实现

2.9.2 依赖查找和依赖注入的区别

依赖查找是主动或手动的依赖查找方式,通常需要依赖容器或标准 API 实现。而依赖注入则是手动或自动依赖绑定的方式,无需以来特定的容器和 API

2.9.3 Spring 作为 IoC 容器有什么优势

  • 典型的 IoC 管理,依赖查找和依赖注入

  • AOP 抽象

  • 事务抽象

  • 事件机制

  • SPI 扩展

  • 强大的第三方整合

  • 易测试性

  • 更好的面向对象

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

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

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