Spring(06)IOC 依赖注

目录

  • Spring(06)IOC 依赖注

    • 1. 依赖注入的模式和类型

      • 1.1 依赖注入模式
      • 1.2 依赖注入类型
    • 2. 自动绑定(Autowiring)
    • 3. 自动绑定(Autowiring)模式
    • 4. 自动绑定(Autowiring)限制和不足
    • 5. Setter 方法依赖注入
    • 6. 构造器依赖注入
    • 7. 字段注入
    • 8. 方法注入
    • 9. 回调注入
    • 10. 依赖注入类型选择
    • 11. 基础类型注入
    • 12. 集合类型注入
    • 13. 限定注入
    • 14. 延迟依赖注入
    • 15. 依赖处理过程
    • 16. @Autowired 注入原理
    • 17. JSR-330 @Inject 注入原理
    • 18. Java 通用注解注入原理
    • 19. 自定义依赖注入注解
    • 20. 面试题精选

Spring(06)IOC 依赖注

Spring 核心编程思想目录:https://www.cnblogs.com/binarylei/p/12290153.html

1. 依赖注入的模式和类型

1.1 依赖注入模式

  • 手动模式- 配置或者编程的方式,提前安排注入规则

    • XML 资源配置元信息
    • Java 注解配置元信息
    • API 配置元信息
  • 自动模式- 实现方提供依赖自动关联的方式,按照內建的注入规则
    • Autowiring(自动绑定):no、byName、byType、constructor

1.2 依赖注入类型

依赖注入类型 配置元数据举例
Setter 方法 <proeprty name="user" ref="userBean" />
构造器 <constructor-arg name="user" ref="userBean" />
字段 @Autowired User user;
方法 @Autowired public void user(User user) { ... }
接口回调 class MyBean implements BeanFactoryAware { ... }

2. 自动绑定(Autowiring)

3. 自动绑定(Autowiring)模式

模式 说明
no 默认值,未激活Autowiring,需要手动指定依赖注入对象
byName 根据被注入属性的名称作为Bean 名称进行依赖查找,并将对象设置到该属性
byType 根据被注入属性的类型作为依赖类型进行查找,并将对象设置到该属性
constructor 特殊byType 类型,用于构造器参数

参考枚举:org.springframework.beans.factory.annotation.Autowire

4. 自动绑定(Autowiring)限制和不足

https://docs.spring.io/spring/docs/5.2.2.RELEASE/spring-framework-reference/core.html#beans-autowired-exceptions

5. Setter 方法依赖注入

  • 手动模式

    • XML 资源配置元信息
    • Java 注解配置元信息
    • API 配置元信息
  • 自动模式
    • byName
    • byType

6. 构造器依赖注入

  • 手动模式

    • XML 资源配置元信息
    • Java 注解配置元信息
    • API 配置元信息
  • 自动模式
    • constructor

7. 字段注入

  • 手动模式 - Java 注解配置元信息

    • @Autowired
    • @Resource
    • @Inject(可选)

8. 方法注入

  • 手动模式 - Java 注解配置元信息

    • @Autowired
    • @Resource
    • @Inject(可选)
    • @Bean

9. 回调注入

10. 依赖注入类型选择

11. 基础类型注入

12. 集合类型注入

13. 限定注入

14. 延迟依赖注入

15. 依赖处理过程

16. @Autowired 注入原理

17. JSR-330 @Inject 注入原理

18. Java 通用注解注入原理

19. 自定义依赖注入注解

20. 面试题精选

原文地址:https://www.cnblogs.com/binarylei/p/12308201.html

时间: 2024-11-08 23:53:03

Spring(06)IOC 依赖注的相关文章

Spring.net Ioc 依赖注入

控制反转 (Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心. 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup). Spring.NET 为建立企业级应用提供了一套轻量级的解决方案.通过Spring.NET,我们可以用统一且透明的方式来配置应用程序.Spring.NET的重点是为中间层提供声明式事务管理,以

关于Spring IOC (依赖注入)你需要知道的一切

[版权申明]未经博主同意,不允许转载!(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/54561302 出自[zejian的博客] <Spring入门经典>这本书无论对于初学者或者有经验的工程师还是很值一看的,最近花了点时间回顾了Spring的内容,在此顺带记录一下,本篇主要与spring IOC相关 ,这篇博文适合初学者也适合spring有过开发经验的工程师,前者可用于全面了解Spring IOC的知识点,后者且

IoC 依赖注入、以及在Spring中的实现

资源来自网络: 去年火得不行的Spring框架,一般的书籍都会从IoC和AOP开始介绍起,这个IoC概念,个人感觉资料里都写得让人看得有些痛苦,所谓IoC,就是控制反转(Inversion of Control)的缩写,这个大家都知道,但是个人觉得理解这个概念,最好应该从依赖(dependence)开始讲起,以下观点由此展开: UML中依赖关系如A依赖于B,就是A中有对方的引用;也就是说依赖就是引用:A依赖于B,就是A使用B来做事情. 所谓依赖,举个例子说明,一个类Person,另一个类Car,

Spring之ioc控制反转(依赖注入)

个人感觉依赖注入比控制反转更好理解,所以下面就只说依赖注入: spring的整体结构示意图: 一.spring 中的概念 beanFactory容器 1.容器是spring框架的核心,容器使用ioc依赖注入来管理所有组成应用系统的组件. 2.spring中的两种容器: beanFactory  这个容器提供了基础的依赖注入支持,而且是延迟加载的,而 applicationcontext是对beanFactory 这个容器的扩展, 3.beanFactory :beanFactory就是一个Bea

Spring的IOC容器—依赖注入

前面一篇博客大致讲了一下Spring的IOC容器的原理,IOC即控制反转主要是依靠依赖注入的方式来实现的.依赖注入是指所依赖的对象不是由自己new出来的,而是用别的方式像打针似的注入进来. 其实说白了不管是控制反转还是依赖注入都说明了Spring采用动态.灵活的方式来管理各种对象. Spring的依赖注入对调用者和被调用者几乎没有任何要求,完全支持对POJO之间依赖关系的管理.有以下几种注入方式: 1. Setter 注入 因为对于javaBean来说,我们可以通过setter和getter方法

Spring核心之IoC——依赖注入

在J2EE开发平台中,Spring是一种优秀的轻量级企业应用解决方案.Spring倡导一切从实际出发,它的核心技术就是IOC(控制反转)和AOP(面向切面编程)技术.本文用的Spring版本为spring-framework-2.5.6(通过Myeclipse导入),不同版本的jar包可能会存在不同的区别. Spring内置了日志组件log4j.jar,所以在正式使用Spring之前需要对log4j进行简单的配置,在项目的src根目录下创建log4j.properties属性文件.具体代码如下:

Spring之IOC/DI(反转控制/依赖注入)_入门Demo

软件152 刘安民 在平时的java应用开发中,我们要实现某一个功能或者说是完成某个业务逻辑时至少需要两个或以上的对象来协作完成,在没有使用Spring的时候,每个对象在需要使用他的合作对象时,自己均要使用像new object() 这样的语法来将合作对象创建出来,这个合作对象是由自己主动创建出来的,创建合作对象的主动权在自己手上,自己需要哪个合作对象,就主动去创建,创建合作对象的主动权和创建时机是由自己把控的,而这样就会使得对象间的耦合度高了,A对象需要使用合作对象B来共同完成一件事,A要使用

Spring(05)IoC 依赖查找

目录 Spring(05)IoC 依赖查找 1. 依赖查找的今世前生 2. 单一类型依赖查找 3. 集合类型依赖查找 4. 层次性依赖查找 5. 延迟依赖查找 6. 安全依赖查找 7. 内建可查找的依赖 8. 依赖查找中的经典异常 9. 面试题精选 Spring(05)IoC 依赖查找 Spring 核心编程思想目录:https://www.cnblogs.com/binarylei/p/12290153.html 1. 依赖查找的今世前生 单一类型依赖查找 JNDI:javax.naming.

Spring IoC 依赖注入(二)源码分析

目录 Spring IoC 依赖注入(二)源码分析 1. 依赖注入口 - populateBean 1.1 doCreateBean 1.2 populateBean 2. 手动注入 2.1 相关的类说明 2.2 applyPropertyValues 2.3 BeanDefinitionValueResolver 2.4 依赖检查 2. 自动注入 2.1 那些字段会自动注入 2.2 名称注入 2.3 类型注入 Spring IoC 依赖注入(二)源码分析 本章主要分析 Spring IoC 依