本文介绍了如何使用@ComponentScan 注释扫描多个路径?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 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 注释扫描多个路径?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-14 14:15