gpt4 book ai didi

java - 如何使用 @ComponentScan 排除两个同名包之一?

转载 作者:行者123 更新时间:2023-12-01 17:49:32 25 4
gpt4 key购买 nike

我有包裹一:

xxx.yyy.zzz {
SampleClass1.java
}

和包二:

xxx.yyy.zzz {
SampleClass2.java
}

并打包三个:

aaa.bbb.ccc {
TopClass.java
}

在 TopClass 中,我使用组件扫描,这样我就可以从 Package 2 中加载类,因为我想要 @Autowire SampleClass2.java。但是,使用组件扫描,它会尝试引入 SampleClass1.java,因为它们具有相同的包名称。执行此操作时,它会导致一堆错误,因为我不需要 SampleClass1,因此需要满足额外的依赖项 bean。

如何 @Autowire SampleClass2.java 而不面临来自 SampleClass1.java 的冲突?

最佳答案

根据我的理解,不能有两个同名的包,它会是具有两个类的同一个包。所以你的包和类的结构如下:

xxx.yyy.zzz{
示例类2.java,
SampleClass1.java
}

这意味着当您在包上使用组件扫描时,您将加载这两个类。如果是这种情况,那么:

  • 我建议要么将它们分开在不同的包中。或
  • SampleClass1.java 作为组件删除,但这意味着您无法在需要的地方 Autowiring SampleClass1.java

关于java - 如何使用 @ComponentScan 排除两个同名包之一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51940381/

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