我试图围绕“依赖注入”的概念.我有一个视觉工作室解决方案.我将其分为3个项目:DataAccessLayer,ServiceLayer,BusinessLogicLayer. ServiceLayer充当BusinessLogic和DataAccess之间的链接,从BusinessLogic隐藏SQL和LINQ语句之类的内容. 现在,许多在线教程建议使用DependencyInjecti
我最近开始从Spring 3.2.3迁移到Spring 4.1.2,由于某种原因,我通过Autowiring不断遇到此依赖性问题: SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.fact
我正在遵循洋葱体系结构,并在DependencyResolution项目中使用简单的注射器.这是我的架构: 1-Core - Domain Classes - Repository Interfaces - Service Interfaces 2-Infrastructure - Data - Dependency Resolution - Repository Interfaces Imple
通过直接依赖于命令和查询处理程序中的DbContext,我了解到我违反了StackOverflow user的注释中的SOLID-principles: The DbContext is a bag with request-specific runtime data and injecting runtime data into constructors causes trouble. Letting your code having a
我使用Spring-Depedency注入而不是Play-Framework Guice Depedency注入,由于我们的要求,我们需要在应用程序中使用大多数Spring-Modules,例如Spring-Data-Mongodb等.但是问题是,我们的依赖项不能正确注入控制器,如下所示: 我的配置: @Configuration @ComponentScan(basePackages={"s
在我的控制器中,所有依赖项都是通过注入(在Dependency inversion principle之后)来接收的,除了其中之一,Mapper类是由构造函数实例化的: public class HomeController : Controller { private readonly ISomeAppService SomeAppService; private readonly Mapper Mapper;
我注意到,当我通过简单的注入器添加装饰器时,该容器不会超出范围.有人知道这是否可以预期吗?如果我不添加装饰器,则说明该容器是垃圾收集的.否则,不是.我应该采取什么措施来强制清理? 这是一个简单的例子.如果添加了装饰器,则在“运行”完成后,容器仍在内存中.如果未添加装饰器,则容
我有一个Context类,它是一个在运行时逐渐填充的键值对. 我想创建需要从上下文中获取一些值的对象实例. 例如: public interface Task { void execute(); } public interface UiService { void moveToHomePage(); } public class UiServiceImpl implements UiService {
我正在从许多来源研究Dagger 2,例如:http://fernandocejas.com/2015/04/11/tasting-dagger-2-on-android/ 但我仍未找到问题的答案. 我在一个非常复杂的应用程序上工作,其中包含数十个片段和一些我想使用DI的活动(匕首2).对于所有这些片段和活动,我都有一个BaseActivity和一个BaseFr
将AutoMapper注入其他层的正确方法是什么? 我读了这个博客post,但是下面的代码导致异常 An exception of type ‘AutoMapper.AutoMapperMappingException’ occurred in AutoMapper.dll but was not handled in user code 尝试在服务层中映射时. List<StudentViewModel> list2 =
我阅读了$cookies at this link的文档,它建议使用以下语法注入$cookies: angular.module('cookiesExample', ['ngCookies']) .controller('ExampleController', ['$cookies', function($cookies) { 因此,我尝试使用以下语法将$cookies注入服务(请注意下面的工厂而不是控制器):
Why do I want to do this? Controllers do not necessarily adhere to SRP, and I’m not about to go creating a new class for each of, what is effectively, a controller ‘action’. Therefore, a controller should not have everything injected via constructor, but
我有一个单身人士: public class MySingleton{ public static getInstance(){//typical singleton getInstance ... } //fields private static volatile instance; @Inject private AnotherClassInstanceThatIWantToInjectHere anotherClassInst_BlaBla; priva
我正在寻找一种注入记录对象的方法,该方法使用MEF将log4net记录器包装到各种对象中.我目前遇到的问题是,日志记录对象需要它所属的对象的类型.我可以通过在包含对象的构造函数中在日志记录对象上设置type属性来解决此问题,但是这留给开发人员设置类型的责任,而我认为没有编译时间限
我有一个ASP.MVC 4站点,也有一个Web API 2控制器.我正在将Unity.MVC用于DI.当我从javascript调用API时,它说它无法创建控制器的实例.如果我创建一个默认的ctor,它将创建该实例,但是当然依赖项为null,但是至少我知道该部分正在运行. 这是我的API: public class ContactController :
我在Project1的QUERY端有以下内容,主要包含接口 public interface IQueryResult {} public interface IQuery<TResult> where TResult : IQueryResult {} public interface IQueryHandler<TQuery, TResult> where TQuery : IQuery<TResult> where TResult : IQu
如果它可以作为主bean生成,是否可以防止创建A类型的bean 例: 我有两个配置类和两个配置文件. AppConfig.java :(具有所有bean的通用配置类) @Configuration public class AppConfig { @Value("${host}") private String host; @Bean public A getA() { //u
我已经使用Spring Rest完成了项目.现在,我们有一个小型休息项目,并计划与Jersey JAX-RS一起使用.我是新手,因此推荐SO和其他博客来成功实现具有依赖项注入的Rest api. 有以下代码. AppConfig.java import javax.ws.rs.ApplicationPath; import javax.ws.rs.core.Application; @Ap
如何在Laravel的服务容器中使用setter依赖注入来自动解决依赖关系? 这是一个例子: class Test { (...) public function setMailer(Mailer $mailer) { $this->mailer = $mailer; } (...) function sendEmail() { $this->mailer->se
我正在尝试创建一个将作为Windows服务运行的服务,如here所述.我的问题是示例Web主机服务构造函数仅采用IWebHost参数.我的服务需要一个类似以下的构造函数: public static class HostExtensions { public static void RunAsMyService(this IWebHost host) { var we
我正在基于MVC5的网站中使用Ninject 3,并试图弄清楚如何使DI与测试传递给其构造函数的Uri.Host值的属性的类型一起使用.我想要以某种方式提供当前URL的绑定.我最初尝试的最小结构是: public class StructuredUrlTester : IStructuredUrlTester { // Expose public getters for
我来自Ninject,但我决定尝试一下Autofac,因为它似乎更加活跃.到目前为止,我可以说注册装饰器并不像使用.WhenInjectedExactlyInto语法在Ninject中那样简单.无论如何,因为我是Autofac新手,所以请多多包涵. 这是问题所在: 我具有由A_Decorator装饰的类型A实现接口IA. A_Decorator实现
我有一个完整的引擎,该引擎依赖于基于用户交互的抽象.这对WPF / Xamarin应用程序非常有效,因为我可以使用window / form来实现这种抽象. 将此引擎移植到ASP MVC时遇到一些问题. 这样可以显示一个简单的示例. 抽象接口(简体) public interface IQuestionBox { Task<bool> ShowY
我们的配置是使用AutoFac的MVC5 C#应用程序. 我们有很多单例,如果它们是在第一个请求中初始化的,那么它们会对用户造成不良的体验,因为它们的初始化总共需要3-4秒左右的时间.我们正在使用AutoFac进行依赖注入,我想知道是否有任何方法可以确保在App_Start上构建单例(或这些特定的单
我在使用Guice使用null值时遇到问题. Nex我为您展示了类似情况的示例.我知道场注入是一种不好的做法,但是我希望它在演示中像这样工作 我有一个名为B的具体类(这是我要注入的类): class B{ @Inject public B(){} public void fooMethod(){ System.out.printl