关于ServiceLocator ,AdpaterAwareInterface 注入

今天学习zf2 的过程,视频中讲到要把数据库的中的表继承TableGateway中,然后注册在ServiceManager中,但是里面没有$adapter,需要在serviceManger,中配置initializer,添一个类,这个类实现intializerInterface,里面有个initialize方法,判断如果服务产生的类实现了AdapterInterface,则执行setDbAdapter(),将SerivcieLocator->get(‘adpater‘)注入到该类,这样就实现在调用该userTable服务时,自动注入了$adpater.

然后,我想的是如果userTable直接实现serviceLocatorAwareInterface不是也可把adater注入进来吗,于是,试了一下,serviceLocator能进来,但是该服务在是要直接产生实例的,没办法把serviceLocator给$adapter,所以还得实现AdapterInterface,初始化把它注入进去

时间: 2024-10-11 00:15:31

关于ServiceLocator ,AdpaterAwareInterface 注入的相关文章

Catel帮助手册-Catel.Core:(5)依赖注入(ServiceLocator and TypeFactory)

1,简介 在Catel2.0之前,IOC容器内部使用的是Unity,然而,这就强制所有的用户在他的应用程序中使用Unity作为IOC容器,也需要这样划分库,从2.0以后,一个不同的技术被使用了,这个允许开发者可以使用他们自己悬着的IOC容器技术. 1.1在Ioc中不同的组件 在Catel中有许多不同的组件他们对于Ioc是非常重要的. ServiceLocator 该组件用于注册所有的类型,这个事真正的Ioc容器 TypeFactory 用于创建类型的组件,使用IServiceLocator来获取

控制反转(IoC)与依赖注入(DI)

前言 最近在学习Spring框架,它的核心就是IoC容器.要掌握Spring框架,就必须要理解控制反转的思想以及依赖注入的实现方式.下面,我们将围绕下面几个问题来探讨控制反转与依赖注入的关系以及在Spring中如何应用. 什么是控制反转? 什么是依赖注入? 它们之间有什么关系? 如何在Spring框架中应用依赖注入? 什么是控制反转 在讨论控制反转之前,我们先来看看软件系统中耦合的对象.图1:软件系统中耦合的对象从图中可以看到,软件中的对象就像齿轮一样,协同工作,但是互相耦合,一个零件不能正常工

依赖注入与控制反转

抄自:http://blog.xiaohansong.com/2015/10/21/IoC-and-DI/ 找不到比这更清楚明白的了 场景:对象A依赖于对象B 控制反转: 控制反转前:由在类A中初始化B,对象A控制着对象B的初始化和使用, 控制反转后:对象B的初始化在对象A需要时由容器初始化并注入到对象A中,控制权在容器手上. 对象A对对象B的依赖,由主动变成了被动,控制权颠倒过来了,对象A与B解耦 依赖注入:就是将实例变量传入到一个对象中去.非自己主动初始化依赖,而通过外部来传入依赖的方式 前

YII服务定位器依赖注入

<?php /** * Created by PhpStorm. * Date: 2016/5/25 * Time: 18:33 * 服务定位器依赖注入 */ namespace frontend\controllers; use yii; use yii\web\Controller; use yii\di\Container; use yii\di\ServiceLocator; class DependencyinjectserviceController extends Controll

Lind.DDD.IoC依赖注入与面向方面的实现

回到目录 IoC是解耦的灵魂,很难想像一个框架中没有IoC会变成什么样子,Lind.DDD里的IoC是通过Unity实现的,由依赖注入(unity)和方法拦截组成(Interception),依赖注入可以通过事前定义好的实现方式去动态建立某个接口的实例,例如,在仓储接口IRepository里,你可以在配置文件中定义它由EF实现,也可以让它由Mongodb实现,而表现出来的结果就是数据的持久化方式的不同. 模块的结构 服务定位器ServiceLocator 服务定位器可以帮助我们在不引用程序集的

深度理解依赖注入(Dependence Injection)

前面的话:提到依赖注入,大家都会想到老马那篇经典的文章.其实,本文就是相当于对那篇文章的解读.所以,如果您对原文已经有了非常深刻的理解,完全不需要再看此文:但是,如果您和笔者一样,以前曾经看过,似乎看懂了,但似乎又没抓到什么要领,不妨看看笔者这个解读,也许对您理解原文有一定帮助. 1.依赖在哪里    老马举了一个小例子,是开发一个电影列举器(MovieList),这个电影列举器需要使用一个电影查找器(MovieFinder)提供的服务,伪码如下: 1/**//*服务的接口*/  2public

深度理解依赖注入

1.依赖在哪里   老马举了一个小例子,是开发一个电影列举器(MovieList),这个电影列举器需要使用一个电影查找器(MovieFinder)提供的服务,伪码如下: 1/*服务的接口*/ 2public interface MovieFinder { 3    ArrayList findAll(); 4} 5 6/*服务的消费者*/ 7class MovieLister 8{ 9    public Movie[] moviesDirectedBy(String arg) {10     

控制反转和依赖注入模式(转)

Java社群近来掀起了一阵轻量级容器的热潮,这些容器能够帮助开发者将来自不同项目的组件组装成为一个内聚的应用程序.在它们的背后有着同一个模式,这个模式决定了这些容器进行组件装配的方式.人们用一个大而化之的名字来称呼这个模式:"控制反转"( Inversion of Control,IoC).在本文中,我将深入探索这个模式的工作原理,给它一个更能描述其特点的名字--"依赖注入"(Dependency Injection),并将其与"服务定位器"(S

yii2 随笔(七)依赖注入——(3)yii2的依赖注入

原文地址:p=124" target="_blank">http://ivhong.com/? p=124(ivhong.com 是我的博客主址) yii2的依赖注入的核心代码在 yii\di.在这个包(目录)以下有3个文件.各自是Container.php(容器),Instance.php(实例),ServiceLocator(服务定位器),如今我们讨论一下前两个.服务定位器能够理解一个服务的注冊表.这个不影响我们讨论依赖注入,它也是依赖注入的一种应用. 我们还是从代