У меня довольно стандартное приложение с весенней загрузкой, которое построено с использованием 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)
на своем ServiceAApplication
, но это никак не сказывалось.
Единственное, что сработало, это аннотировать ServiceAApplication
примерно так:
@SpringBootApplication(basePackages = { "org.example.serviceA", "org.example.common"})
public class ServiceAApplication { ... }
Этот подход работает, но мне кажется очень грубозернистым - он будет импортировать каждый и каждый компонент и конфигурацию, которые он находит в org.example.common
.
Есть ли лучший способ сделать это? Могу ли я включить отдельные классы в проверку компонентов, перечислив их один за другим?