我有一个相当标准的 spring boot 应用程序,它是用几个 gradle 模块的 gradle 构建的。这是目录布局:
- root
- serviceA
- src/main/java
- org.example.serviceA
- ServiceAApplication.java
- serviceB
- serviceC
- common
- src/main/java
- org.example.common
- CommonSecurityConfiguration.java
我想做的是将共享模块中的类包含在. 请注意,并驻留在不同的基础包中。CommonSecurityConfiguration
common
serviceA
ServiceAApplication
CommonSecurityConfiguration
我尝试@Import(CommonSecurityConfiguration.class)
在 my上使用ServiceAApplication
,但这根本没有明显的效果。
唯一有效的是这样注释ServiceAApplication
:
@SpringBootApplication(basePackages = { "org.example.serviceA", "org.example.common"})
public class ServiceAApplication { ... }
这种方法有效,但对我来说似乎非常粗略- 它会导入它在org.example.common
.
有一个更好的方法吗?我可以通过一一列出单个类来将它们包含到组件扫描中吗?