问题描述
我正在使用 Spring 3.1 并使用 @Configuration
和 @ComponentScan
属性引导应用程序.
I'm using Spring 3.1 and bootstrapping an application using the @Configuration
and @ComponentScan
attributes.
实际开始是用
new AnnotationConfigApplicationContext(MyRootConfigurationClass.class);
这个配置类用
@Configuration
@ComponentScan("com.my.package")
public class MyRootConfigurationClass
这很好用.但是我想更具体地说明我扫描的包,所以我尝试了.
and this works fine. However I'd like to be more specific about the packages I scan so I tried.
@Configuration
@ComponentScan("com.my.package.first,com.my.package.second")
public class MyRootConfigurationClass
然而,这失败了,错误告诉我它找不到使用 @Component
注释指定的组件.
However this fails with errors telling me it can't find components specified using the @Component
annotation.
做我所追求的事情的正确方法是什么?
What is the correct way to do what I'm after?
谢谢
推荐答案
@ComponentScan 使用字符串数组,像这样:
@ComponentScan uses string array, like this:
@ComponentScan({"com.my.package.first","com.my.package.second"})
当您只在一个字符串中提供多个包名时,Spring 会将其解释为一个包名,因此无法找到它.
When you provide multiple package names in only one string, Spring interprets this as one package name, and thus can't find it.
这篇关于如何使用@ComponentScan 注释扫描多个路径?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!