实际上,我正在使用 spring 来开发 Web 应用程序,我面临的问题是,一旦加载了 spring 容器,我就会初始化一个 bean,现在我必须在程序的不同部分使用该 bean。我有 1. 我可以在任何地方获取应用程序上下文并获取那个 bean,但是根据我的问题,我应该得到那个 bean,而不必一次又一次地编写冗余代码。所以有什么方法可以初始化那个 bean 并使用它直接在我的程序中的任何地方。
慕丝7291255
浏览 204回答 2
2回答
慕神8447489
你不应该直接从上下文中获取你的 bean,而是你应该 @Autowire 它们并让 Spring 为你注入它。这是通过构造函数注入的两个依赖项的示例:@Componentpublic class Car { private final Engine engine; private final Transmission transmission; @Autowired public Car(Engine engine, Transmission transmission) { this.engine = engine; this.transmission = transmission; }}请注意,您的类必须是 Spring 组件本身才能进行注入。Spring 中的依赖注入实际上分为三种类型:构造函数注入、字段注入和 setter 注入。Spring 团队推荐使用基于构造函数的方法,这篇文章为这一点带来了非常好的论据:https : //blog.marcnuri.com/field-injection-is-not-recommended/您可以参考此链接以获取有关基于构造函数的注入的更多信息:https : //www.baeldung.com/constructor-injection-in-spring