Я занимаюсь разработкой многомодульного проекта с использованием Spring Boot 2.0.5.RELEASE, Java 8. Он состоит из модели, DAO и различных микросервисов. Использование компонентов DAO обеспечивается аннотацией @Import, как указано ниже:
Микросервис:
@SpringBootApplication
@EnableBatchProcessing
@EnableDao
public class Application {
public static ConfigurableApplicationContext CONTEXT;
public static void main(String[] args) {
CONTEXT = SpringApplication.run(Application.class, args);
}
}
DAO:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Import(DaoConfiguration.class)
public @interface EnableDao {
/* empty */
}
@Configuration
@EntityScan("blah.blah.blah.dao")
@EnableJpaRepositories("blah.blah.blah.dao.repo")
public class DaoConfiguration {
/* Some tricks with EntityManager also */
}
@Repository
public interface SomethingRepo extends JpaRepository<Something, Long> {
/* + some default methods */
}
Но я запустил код:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'blah.blah.blah.dao.repo.SomethingRepo' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
Какого черта мой код не создает бин? В чем может быть причина?