问题描述
我想创建一个 spring boot starter 模块,它有自己的实体和存储库。但是如何在自动配置中将实体附加到 spring 上下文?使用此模块的 spring boot 服务将有自己的实体,因此必须附加。
我试过这样。
public class StarterEntityRegistrar implements ImportBeanDeFinitionRegistrar {
@Override
public void registerBeanDeFinitions(AnnotationMetadata importingClassMetadata,BeanDeFinitionRegistry registry) {
AutoConfigurationPackages.register(registry,MyEntity.class.getPackageName());
}
}
@Import(StarterEntityRegistrar.class)
当我根据这个 starter 模块启动我的 Spring Boot 应用程序时,我可以看到调用了 register 方法,但仍然没有选择实体。
我该怎么做?
解决方法
好的在我的自动配置类中
@AutoConfigureAfter({JpaRepositoriesAutoConfiguration.class})
我改成
@AutoConfigureBefore({JpaRepositoriesAutoConfiguration.class})
然后就成功了。