IOC,依赖倒置 (理解) Spring依赖注入的实现技术是:动态代理
来源:互联网 发布:nginx 返回数据截断 编辑:程序博客网 时间:2024/06/05 23:53
所谓依赖,从程序的角度看,就是比如A要调用B的方法,那么A就依赖于B,反正A要用到B,则A依赖于B。
所谓倒置,你必须理解如果不倒置,会怎么着,因为A必须要有B,才可以调用B,如果不倒置,意思就是A主动获取B的实例:B所以,不倒置,意味着A要主动获取B,才能使用B;到了这里,你就应该明白了倒置的意思了。倒置就是A要调用B的话,A并不需要主动获取B,而是由其它人自动将B送上门来。
形象的举例就是:
通常情况下,假如你有一天在家里口渴了,要喝水,那么你可以到你小区的小卖部去,告诉他们,你需要一瓶水,然后小卖部给你一瓶水!
这本来没有太大问题,关键是如果小卖部很远,那么你必须知道:从你家如何到小卖部;小卖部里是否有你需要的水;你还要考虑是否开着车去;等等等等,也许有太多的问题要考虑了。也就是说,为了一瓶水,你还可能需要依赖于车等等这些交通工具或别的工具,问题是不是变得复杂了?那么如何解决这个问题呢?
解决这个问题的方法很简单:小卖部提供送货上门服务,凡是小卖部的会员,你只要告知小卖部你需要什么,小卖部将主动把货物给你送上门来!这样一来,你只需要做两件事情,你就可以活得更加轻松自在:
第一:向小卖部注册为会员
第二:告诉小卖部你需要什么
是不是和Spring的做法很类似呢?Spring就是小卖部,你就是A对象,水就是B对象
第一:在Spring中声明一个类:A
第二:告诉Spring,A需要B
假设A是UserAction类,而B是UserService类
在Spring这个商店(工厂)中,有很多对象/服务:userService,documentService,orgService,也有很多会员:userAction等等,声明userAction需要userService即可,Spring将通过你给它提供的通道主动把userService送上门来,因此UserAction的代码示例类似如下所示:
package
public
}
在这段代码里面,你无需自己创建UserService对象(Spring作为背后无形的手,把UserService对象通过你定义的setUserService()方法把它主动送给了你,这就叫依赖注入!)
1 0
- IOC,依赖倒置 (理解) Spring依赖注入的实现技术是:动态代理
- IOC,依赖倒置 (理解) Spring依赖注入的实现技术是:动态代理
- Spring ioc依赖倒置
- Spring IoC依赖注入的实现
- Spring的依赖注入IoC
- Spring ioc 的依赖注入
- IOC依赖倒置(个人理解)
- spring是怎么实现依赖注入的
- Spring的Ioc和DI依赖注入的理解
- 初步理解spring ioc原理(读完可自己实现依赖注入部分的spring框架)
- Spring的IOC和依赖注入DI理解
- Spring IoC(控制反转)和DI(依赖注入)的理解
- Spring IoC(控制反转)和DI(依赖注入)的理解
- spring技术内幕5-IoC容器的依赖注入
- spring技术内幕笔记:IoC容器的依赖注入
- spring ioc依赖注入
- spring IOC依赖注入
- spring ioc 依赖注入
- 使用sqlalchemy实现外键关联的例子(程序,本例子来源于sqlalchemy官网)
- php7.0 出现 curl_setopt(): Disabling safe uploads is no longer supported in 报错!
- Hadoop之HDFS架构功能剖析说明
- Swiper实现图片滚动效果
- struts2与spring整合时提示无法注入bean的错误
- IOC,依赖倒置 (理解) Spring依赖注入的实现技术是:动态代理
- 剑指Offer——面试题22:栈的压入、弹出序列
- 在IntelliJ IDEA上使用Maven搭建SSM框架(二)
- Akka并发编程——1、Actor模型(一)
- dpdk issue
- 微服务架构的分布式事务解决方案
- TCP/IP网络协议基础TCP/IP网络协议基础
- 第三方轮播图控件SliderLayout使用
- Android常见框架:启动页+ViewPager+Fragment+FragmentTabHost底部导航栏整合实现