gpt4 book ai didi

java - 无法将组件 Autowiring 到实用程序类中

转载 作者:行者123 更新时间:2023-11-30 10:45:49 27 4
gpt4 key购买 nike

我在将组件 Autowiring 到实用程序类时遇到问题。实用程序类最初包含静态方法,但后来我只是将它们设为实例方法。

我用 @Component 定义了实用程序类,并在类中放入了

class MyUtilityClass {
@Autowired
ExistingComponent existingComponent
...
}

实用程序类所在的包位于 @ComponentScan 的指定父目录下,其中 value="top-level-directory"还包含用于所有其他 Autowiring 的组件。

为了运行实用程序类,我必须将 ExistingComponent 传递给实用程序类的构造函数。

使用 Spring 4.1.6。

这可能是一些基本的东西,但不是点击。我在这里缺少什么?

谢谢。

更新 1

调用实用程序类的类如下所示:

class UsingClass {
@Autowired
MyUtilityClass myUtilityClass
...
def method1() {
String variable1 = "some data"
myUtilityClass.utilityMethod(variable1)
...
}
}

最初我将内部实用程序方法设置为静态,并尝试在不 Autowiring 的情况下使用实用程序类。

最佳答案

你的 beans XML 配置文件中有这个吗?

<context:component-scan base-package="com.your.package" />

base-package 指示组件的存储位置。

这允许 Spring 扫描包,以便它可以找到用 @Component 注释的 bean。

对此有更深入的解释 here .

关于java - 无法将组件 Autowiring 到实用程序类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36848123/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com