我遇到了将组件自动装配到实用程序类中的问题。实用程序类最初有静态方法,但后来我只是将它们作为实例方法。
我使用 @Component 并在放入
的类中定义了实用程序类class MyUtilityClass {
@Autowired
ExistingComponent existingComponent
...
}
实用程序类所在的包位于 @ComponentScan 的指定父目录下,其中 value =“top-level-directory”也包含for的包所有其他自动装配组件。
要使实用程序类运行,我必须将 ExistingComponent 传递给实用程序类的构造函数。
使用Spring 4.1.6。
这可能是基本的,但不是点击。我在这里缺少什么?
感谢。
更新1
调用实用程序类的类如下所示:
class UsingClass {
@Autowired
MyUtilityClass myUtilityClass
...
def method1() {
String variable1 = "some data"
myUtilityClass.utilityMethod(variable1)
...
}
}
最初我将内部实用程序方法设置为静态,并尝试使用实用程序类而不自动装配它。
答案 0 :(得分:1)
你的bean XML配置文件中有没有这个?
<context:component-scan base-package="com.your.package" />
base-package 表示存储组件的位置。
这允许Spring扫描包,以便它可以找到用@Component
注释的bean。
更深入地解释了这一点here。