dependency-injection相关内容
考虑: 公共类 HomeController : 控制器{私有 IDependency 依赖;公共 HomeController(IDpendency 依赖){this.dependency = 依赖;}} 事实上,ASP.NET MVC 中的控制器必须有一个空的默认构造函数,除了为 DI 定义一个空的(在我看来是无用的)构造函数之外还有什么方法吗? 解决方案 如果您想拥有无参数构造函
..
我已经阅读了大量关于依赖注入的文章,但我不知道它实际上是如何减少耦合的? 我对 DI 的类比是所有组件都注册到一个容器中,因此它们就像在一个宝箱中.要获得一个组件,您显然要先注册它,然后您必须查询宝箱(这就像一个间接层).这是正确的比喻吗?不过,“注入"是如何发生的并不清楚(这如何与这个类比相符?). 谢谢 解决方案 用你的组件在宝箱中的类比:一个没有依赖注入的系统(比如一个宝
..
在这个 AutoFac“最佳实践"页面 (http://code.google.com/p/autofac/wiki/BestPractices),他们说: 不要传递容器授予组件访问容器的权限,或将其存储在公共静态属性中,或使 Resolve() 等函数在全局“IoC"类上可用,都违背了使用依赖注入的目的.这种设计与服务定位器模式有更多的共同点.如果组件依赖于容器,请查看它们如何使用容器来检
..
我问自己 @Input/@Output 在父/子组件和使用服务的区别在哪里一旦使用依赖注入@Injectable() 进行初始化.或者除了 Input/Output 只能在 parent-/child-comp 中使用之外还有什么区别. 以下示例以获得更好的可视化效果: 使用@Input:
..
我对 Android 特定模式的问题是,如果您使用他们的 AndroidInjection 类,则除了 Activities/Fragments 之外,成员无法注入其他对象/custom 视图/适配器,应用程序组件除外.这是因为您无法获得用于注入 Activities/Fragments 的 Subcomponent (AndroidInjector) 的引用.这使得注入对话框(如果您使用 Dia
..
我特别指的是这个问题:DDD - 如何实现工厂 所选答案已说明: “工厂不应该与依赖注入绑定,因为域对象不应该将依赖注入其中." 我的问题是:无法将依赖项注入实体的原因是什么?还是我只是误解了声明?有人可以澄清一下吗? 解决方案 域对象不是工厂、存储库等.它们只是实体、值对象、域服务和聚合根.也就是说,它们必须是封装了您的业务域使用的数据、它们之间的关系以及域可以对该数据
..
我正在尝试将接口注入到我的 HomeController 中,但出现此错误: InvalidOperationException:尝试激活时无法解析“Microsoft.Extensions.Configuration.IConfiguration"类型的服务 我的Startup类如下: public Startup(IApplicationEnvironment appEnv){v
..
我的存储库中出现了一系列非常奇怪的错误.未找到或更改行,2 个更新中的 1 个失败......没有任何意义. 就好像我的 DataContext 实例被缓存了一样......没有任何意义,我正在考虑转行. 然后我注意到 DataContext 实例是使用依赖注入传入的,使用的是 Ninject(这是我第一次使用 DI...).我删除了依赖注入,一切都恢复了正常.立即. 所以依赖注
..
如何全局访问根 Angular 2 注入器的实例(例如,从浏览器控制台). 在 Angular 1 中它是 angular.element(document).injector(). 在测试和探索过程中很有用,使用浏览器控制台获取注入器然后访问不同组件、指令、服务等的实例. 解决方案 在引导应用程序后,您必须将其设置为服务: export var applicationInj
..
我是 Spring 的新手,我正在尝试制作一个学习应用程序,但我在自动装配中遇到问题,我正在添加我的代码.我正在研究弹簧靴. Spring Boot 代码 公共类DemoApplication {公共静态无效主(字符串 [] args){SpringApplication.run(DemoApplication.class, args);}} 登录Bean.java @Service@
..
它的作用很简单: @Inject私人提供商产品服务; 产品服务可通过 productService.get() 获得,.get() 将在每次调用时从 Spring 上下文解析实例. 但是我应该什么时候使用它呢?在哪里? 我的主要用例非常简单:当我获得循环依赖时,提供程序会在运行时帮助解决依赖关系.但是,如果您在因循环依赖而无法创建上下文时将其放入,则
..
我正在尝试通过以下方式在我的 FacesConverted 中注入 ManagedBean: @ManagedBean@RequestScoped@FacesConverter(forClass = Group.class)公共类 GroupConverter 实现 Converter {@ManagedProperty("#{groupService}")私有组服务组服务;@覆盖公共组 get
..
我有一个 ASP.NET MVC 1 应用程序,它使用 NHibernate 和 Castle Windsor 进行 IoC.控制器注入了服务类,这些服务类处理应用程序所需的所有逻辑和操作.服务类注入了存储库.每个存储库处理单个对象.对象通过 NH 映射到 DB 表.我试图在服务和控制器之间保持一对一的关系,但有些服务在多个控制器中使用. 问题是一些服务现在依赖于 10-15 个存储库.例如
..
我想以编程方式将 bean 定义添加到应用程序上下文,但该定义的某些属性是来自该上下文的其他 bean(我知道它们的名称).我该怎么做才能注入这些属性? 例如: GenericBeanDefinition beanDef = new GenericBeanDefinition();beanDef.setBeanClass(beanClass);MutablePropertyValues 值
..
情况:我需要在某些 FooClass 中延迟依赖实例化,所以我将 Injector 作为构造函数参数传递给类. private final Injector m_injector;public FooClass(@Named("FooInjector") 注入器注入器) {m_injector = 注射器;} 但是 guice 不允许绑定核心类(注入器、模块等).有什么解决办法? 解决方
..
我没有找到关于使用 Dagger 2 的方法注入的好的解释/示例.有人可以帮我理解吗? 示例: @Injectpublic Dinner makeDinner(意大利面,酱汁){mPan.add(pasta);mPan.add(酱);返回 mPan.cookDinner();} 因此,如果我使用 @Inject 注释我的方法,我是否正确地假设方法签名中的参数将使用对象图中的已定义对象注入
..
在过去的几天里,我已经阅读了很多关于依赖注入/控制反转/依赖反转的内容.我认为,现在我对这个概念的理解要好得多.但我仍然没有从维基百科中得到以下内容: A.高级模块不应该依赖于低级模块.两个都应该依赖于抽象.B. 抽象不应该依赖于细节.细节应该依赖于抽象. 我理解高级模块的部分不应该依赖于低级模块. 但是,我对抽象和细节感到困惑.有人可以帮我简化它们吗?谢谢. 解决方案 这意味
..
在 ASP.NET Core 中,你可以用微软的依赖注入框架做的一件事是绑定“开放泛型"(泛型类型未绑定到具体类型)像这样: public void ConfigureServices(IServiceCollection services) {services.AddSingleton(typeof(IRepository), typeof(Repository))} 您也可以使用 水合依赖
..
注意:我提到的测试项目可以通过以下方式下载: git clone https://github.com/mperdikeas/so-spring-di-appcontext-schemalocation.git .. 并用 'ant run' 运行. 我“理解"XML 命名空间名称仅用作不透明标识符,并不打算用作 URI (维基百科).我还“理解"XML 模式位置旨在提供有关模式
..
我目前正在 Angular 2 中深入研究 DI.我正在实现一个 REST 客户端,使用具体数据类型的通用子类型,如下所示: class RESTClient{构造函数(){var inj = ReflectiveInjector.resolveAndCreate([HTTP_PROVIDERS]);this.http = inj.get(Http);this.conf = RESTConfig
..