当前位置: 首页 > 知识库问答 >
问题:

构造函数注入与设置器注入

苏高峰
2023-03-14

我把下面的内容看做是构造函数和setter注入的区别之一。有人能用一些简单的例子解释一下下面的区别吗,我对术语完全功能对象和不完全对象有点困惑。

-

共有1个答案

夔博
2023-03-14

当使用构造函数注入时,所有必需的依赖项都应该通过构造函数提供,因为不应该有任何setter,以便稍后注入它们。因此实例具有所有必需的依存项!

使用Setter Injection,创建实例可能存在,但没有所有必需的依赖项(因为它们尚未通过Setter设置)。用户可以使用对象,而无需设置不需要的依赖项。

参见通过构造函数或属性设置器的依赖注入?

 类似资料:
  • 请帮助理解在哪种情况下我应该使用构造函数注入和设置器注入。请帮我举个合适的例子。 先谢谢你。

  • 注入是将依赖注入对象的过程。 构造函数注入很常见。 在此过程中,依赖项作为参数注入构造函数。 请参阅下面的示例。 创建一个名为GuiceTester的java类。 GuiceTester.java import com.google.inject.AbstractModule; import com.google.inject.Guice; import com.google.inject.Inj

  • 有人能帮助实现没有注释的Guice吗? pom。xml 我所尝试的: 我得到的错误是: 我理解这个错误。 但是我希望我可以“指向”Guice到正确的构造函数......而不是使用注释。 如您所见,使用默认/空构造函数不是一个好选择,因为这个示例很简单,但我想坚持使用基于构造函数的注入。 附加: 根据我在评论中从赫曼特·辛格那里得到的“暗示”,我想我离得更近了。 我创建了一个ProductionIn

  • 本文向大家介绍Design patterns 构造函数注入(C#),包括了Design patterns 构造函数注入(C#)的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 我想在构造函数中使用Request类,这是我想运行服务器时它给我的错误: 无法自动连接服务"AppBundle\Controller\DetectServiceDetailController":方法"__construct()"引用类"Symfony\Component\HttpFoundation\Request"的参数"$ask",但不存在这样的服务。它不能自动注册,因为它来自不同的根命名空

  • 问题内容: 我开始在正在开发的应用程序中使用Dagger 2,但是我对Dagger 2的工作方式有一些疑问。 我得到了@Provides方法和@Inject批注背后的所有逻辑来初始化您的依赖关系,但是类构造函数的@Inject批注使我感到烦恼。 例如: 在我的应用程序中,我定义了一个模块ContextModule来检索应用程序的上下文: ContextModule.java 我的BaseActiv