博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring----IoC Service Provieder
阅读量:6183 次
发布时间:2019-06-21

本文共 1118 字,大约阅读时间需要 3 分钟。

IoC Service Provider的职责

参考:书籍《Spring揭秘》

           博客 

1.业务对象的构建管理

在IoC场景中,业务对象无需关心锁依赖的对象如何构建如何取得,但这部分工作始终需要有人来做。所以,IoC Service Provider需要将对象的构建逻辑从客户端对象(这里指代某个对象或者某种服务的对象,如果对象A需要引用对象B,那么A就是B的客户端对象)那里剥离出来,以免这部分逻辑污染业务对象的实现。

比如我们被注入对象是ServiceImpl通过setter注入的方式可以直接获取到依赖对象IDao,建立依赖关系。而此时的IDao业务对象并不是由ServiceImple来构建的。IoC Service Provider 的职责之一就是依赖对象的构建管理工作。将依赖对象的构建逻辑从客户端隔离,接触了相应的耦合。

2.业务对象间的依赖绑定:

将对象所依赖的对象注入绑定,从而保证每个业务对象在使用的时候,可以处于就绪状态。

IoC Service Provider 通过结合之前的构建和管理所有的业务对象,以及各个业务对象之间可以识别的依赖关系,将这些对象所依赖的对象注入绑定,从而保证每个业务对象在使用被注入对象时候,被注入的对象处于就绪状态。

***************************************************************************************************************************************************************

那么问题来了,IoC Service Provider 到底是怎么管理对象之间的依赖关系,怎么实现的呢?

 

好比我们去酒吧喝酒(比作被注入对象),此时服务员在(比作Ioc), 我们想要啤酒(依赖注入对象)。但是服务员此刻是个新人,并不知道啤酒放在哪里,你若要想喝啤酒,服务员必须知道啤酒和库存的关系。对于Ioc Service Provider  来说的话,同样的需要知道自己所管理和掌握的被注入对象与依赖注入对象之前的对应关系,才能准确无误的去为被注入对象提供注入服务, 那么Ioc Service Provider 就需要寻求一些能够记录被注入对象与依赖对象之间的关系。

 

当前流行的IoC Service Provider产品使用的注册对象管理信息的主要方式有:

1.直接编码方式

 

2.配置文件方式   

 

3.元数据方式

Guice是一种DI框架

 

 

 

 

转载于:https://www.cnblogs.com/levontor/p/11040454.html

你可能感兴趣的文章
LVS+keepalived+Nginx(前后端故障处理)全自动化负载均衡配置
查看>>
gdb调试(转自http://wenku.baidu.com/view/abdda42ee2bd960590c67730.html)
查看>>
html5 history api 实现无刷新浏览以及历史记录管理
查看>>
我的友情链接
查看>>
一双皮鞋
查看>>
oracle闪回操作详解
查看>>
复制仓库
查看>>
percent之Timer
查看>>
折腾Java设计模式之中介者模式
查看>>
腾讯电脑管家提醒您:该网站可能存在安全风险,请谨慎访问!怎么去除?
查看>>
tomcat下的内存设置,以及设置tomcat内存参数的查看
查看>>
django搭建博客网站
查看>>
《linux Shell 脚本攻略》进阶学习(第一部分)
查看>>
java 邮件收发
查看>>
我的友情链接
查看>>
struts2结合poi-3.7实现excel文件数据导入
查看>>
opessl工具使用
查看>>
自建CA以及证书申请
查看>>
Meta标签整理
查看>>
Apache prefork模式和worker模式参数详解
查看>>