inversion-of-control相关内容

Spring 自动装配和原型范围

我有一个名为 Bar 的类,带有以下注释:@Configurable(autowire = Autowire.BY_TYPE) 在私人成员上,我有以下注释: @Autowired(required = true)私人 Foo foo; 在 spring 配置中,我有一个 Foo 类的 bean.如果 bean 是用 scope="prototype" 定义的,它就不起作用,我得到以下异常 ..
发布时间:2021-11-10 22:21:34 Java开发

在.NET中的同一解决方案中使用两个IoC容器的缺点?

我正在开发一个项目,该项目使用了其他开发人员的一组库,这些库使用 structuremap 作为IoC容器.[我有代码库] 我们要在其中合并这些库的应用程序使用统一容器. 在同一解决方案中拥有两个容器框架是否有不利之处?我想将所有内容移到同一个IoC容器中,但是如何证明额外的努力呢? 解决方案 在同一个 solution 和同一个 application 中拥有多个容器库是有区 ..
发布时间:2021-05-16 19:52:21 C#/.NET

在解决公共课程时注入内部帮助程序课程

我具有以下体系结构,其中引用内部Helper类的公共服务类存在于另一个程序集中: ApplicationAssembly {公共类窗口小部件{公共小部件(ReferencedAssembly.Service服务){...}}}ReferencedAssembly {公共类服务{公共服务(Helper助手){...}}类助手{...}} (我意识到我不能将内部类放在公共类的构造函数的参数中, ..

简单喷油器-“懒惰"喷油器实例化一个依赖于首次使用的单例

我们有一个控制台应用程序,可以执行许多不同的操作.很多不同的事情,它的作用取决于我们作为命令行参数传入的内容.它最初是用这种方式构建的,因此只占用了我们构建服务器中的一个许可位置,建议拆分时我遇到了很多阻力. 此应用程序将简单注入器用于IoC ...问题是,我们有很多单例服务,这些服务未用于任何给定的操作,并且每次使用时都加载...这非常烦人.我只想加载实际用于任何给定操作的依赖项. ..
发布时间:2021-05-16 19:52:13 C#/.NET

Spring依赖注入-私有字段-反模式?为什么它甚至起作用?

我通常是c#开发人员,但是现在正在使用Java,然后我看到在 private 属性上使用Spring进行了大量的依赖注入,没有公开设置值的方法.我很惊讶这确实有效,但是我想可以通过反思吗? 这肯定是可怕的做法吗?!我看不到任何单元测试或检查类的人怎么可能知道需要从某个外部框架设置私有成员. 在进行单元测试时,您甚至将如何设置属性?还是只是单独使用课程? 我想您必须在单元测试中使用 ..

使用ScopedLifestyle创建作用域的装饰器.在简单注入器中流动

我需要一些帮助来了解我在配置容器时出了什么问题. 我通过使用此示例. 基本上我需要基于该接口将一些用例实现为数据库命令 公共接口IDatabaseCommand{TResult Execute(TParam commandParam);} 并且我想使用添加事务安全功能的装饰器. 每个命令都需要使用专用的DbContext,并且必须在该上下文 ..

在应用程序启动时将实例注册为“单个" Bean

我正在玩Spring Boot,并且我试图构造一个 ServiceImpl 的实例,以便在需要 Service 时进行解析.当前,我将实现注释为 @Component ,但这并没有给我提供构建所需实例的机会. ServiceImpl 应该使用包含磁盘上文件路径的String构造.我想在应用程序的 @SpringBootApplication 类的main方法中执行此操作. 也许只是我来 ..

什么是DI容器?

我正在观看有关依赖注入的本课程视频,并且讲师讨论了 di-container ,但没有详细解释,现在我读了一些文章,我想确认一下,现在我明白了正确的.下面是简单的程序,我的问题是, 下面的Program类是最简单的di容器吗?如果不是这样的话,简单的di-container会是什么样子 接口可实现{无效的doSmth();}A类实现了可实现{@Override公共无效doSmth(){}} ..
发布时间:2021-04-30 19:08:32 Java开发

如何将依赖项注入到iOS视图控制器中?

我的视图控制器需要将消息发送到几个模型对象.如何在视图控制器中获取对这些模型对象的引用? 这些模型对象是“单个"(因为在系统中一次只能有一个副本),并且它们由多个视图控制器使用.因此,我无法在每个视图控制器的init方法中实例化它们. 我不能使用构造函数注入,因为运行时会选择用于创建视图控制器的init方法. 在任何时候(我都知道),我都无法使用"setter注入"功能.我既没有 ..
发布时间:2021-02-08 18:41:26 移动开发