Sha*_*adi 27 spring spring-mvc component-scan
我正在维护一个包含两组主程序包的项目,该项目使用的是Spring和Spring MVC,其中一个程序包包含多个控制器,并使用XML configuration(<context:component-scan />
)进行扫描.
问题是在另一个包中有一个类(未扫描),我需要扫描这个类,但只需要这个类,而不是包中的其他类.我现在无法改变它的包装,因为它现在风险太大了.
那么有没有办法使用注释或XML 来做到这一点?
Eme*_*gia 54
@Bart对XML的说法.
如果您需要使用注释引入该类,请将以下内容添加到其中一个@Configuration
类中
@ComponentScan(
basePackageClasses = YourClass.class,
useDefaultFilters = false,
includeFilters = {
@ComponentScan.Filter(type = ASSIGNABLE_TYPE, value = YourClass.class)
})
Run Code Online (Sandbox Code Playgroud)
Bar*_*art 21
简单地添加就像你的上下文中的bean一样
<bean class="my.package.MyClass" />
Run Code Online (Sandbox Code Playgroud)
除了艾默生·法鲁吉亚(Emerson Farrugia)所描述的方法外,还有一个较为简单的解决方案,该解决方案自Spring Framework 4.2以来就得到了支持,如此处的文档所述。
从Spring Framework 4.2开始,
@Import
还支持对常规组件类的引用,类似于该AnnotationConfigApplicationContext.register
方法。如果要通过使用一些配置类作为入口点来显式定义所有组件,从而避免组件扫描,则此功能特别有用。
因此,您的示例将变成:
@Import(YourClass.class)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26370 次 |
最近记录: |