当前位置 > it书童 > java > 正文
推荐小册
java高效编程
怎样更高效地用 java 编程

juc并发工具库
java并发编程工具库

设计模式
设计模式

jvm调优
jvm调优

rabbitmq实战
rabbitmq实战

redis实战
redis实战

Keepavlied高可用集群
Keepavlied高可用集群

nginx入门到实战
nginx入门到实战

java调试
java调试中遇到的各种坑

java输入输出流
java输入输出流

spring DI 依赖注入

java it书童 2020-08-19 13:38:57 0赞 0踩 263阅读 0评论

依赖注入:Dependency Injection。它是spring框架核心ioc的具体实现。

我们的程序在编写时,通过控制反转,把对象的创建交给了 spring,但是代码中不可能出现没有依赖的情况。

ioc 解耦只是降低他们的依赖关系,但不会消除。

例如:我们的业务层仍会调用持久层的方法。 那这种业务层和持久层的依赖关系,在使用 spring 之后,就让 spring 来维护了。

简单的说,就是坐等框架把持久层对象传入业务层,而不用我们自己去获取。

IOC 与 DI

IOC 控制反转是为了降低程序间的依赖关系,DI 依赖注入是其中的一种实现方式

也可以这么理解:IOC 是目的,DI 是手段。IOC 是指让生成类的方式由传统方式(new)反过来,既程序员不调用new,需要类的时候由框架注入(DI),是同一件事情在不同层面的解读

spring 中的 DI

类的依赖关系都交由 spring 维护。程序员只需要在配置文件中说明映射关系,spring 就会在程序需要某个类时自动提供

能注入的数据分为三类:

  • 基本类型和String

  • 其他bean类型(在配置文件中或者注解配置过的bean)

  • 复杂类型/集合类型

注入的方式:有三种

  • 使用构造函数提供

  • 使用set方法提供

  • 使用注解提供

关于我
一个文科出身的程序员,追求做个有趣的人,传播有价值的知识,微信公众号主要分享读书思考心得,不会有代码类文章,非程序员的同学请放心订阅
转载须注明出处:https://www.itshutong.com/articles/638/spring-di-dependency-injection