我的问题是我希望能够将依赖项注入任何模块中.例如在此类中: DBSeeder.java 如下所示: private HotelRepository hotelRepository;public DbSeeder(HotelRepository hotelRepository){ this.hotelRepository = hotelRepository;}.. 我想改用: @Autowiredprivate HotelRepository hotelRepository; Application类如下: @SpringBootApplication@EnableJpaRepositories(basePackages = {"rc"})@EntityScan(basePackages = {"rc"})@ComponentScan(basePackages = {"rc"})public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }} 欢迎将我与解决方案联系起来的任何想法.解决方案看看您的代码,您不能Autowire一个Hotel bean,因为它没有正确注册. https ://github.com/IDCS1426/SpringBootMultipleMavenModules/blob/master/domain/src/main/java/rc/domain/Hotel.java#L10 您需要在其中添加@Component以便将其注入 https://github.com/IDCS1426/SpringBootMultipleMavenModules/blob/master/persistence/src/main/java/rc/persistence/DbSeeder.java#L21 此外,当您添加不存在的模块时,该项目将永远不会编译: https://github.com/IDCS1426/SpringBootMultipleMavenModules/blob/master/pom.xml#L14 .您需要删除它:).说了这么多,对我来说,尝试注入Entity的方式对我来说很奇怪,但这不是这个问题的一部分.这样做,代码可以很好地编译.I'm trying to get a clean springboot maven multimodule project.I'm using springboot 2.0.1.RELEASEWhat I want to achieve is similar to this: SpringBootMultipleMavenModulesThe problem I have is that I want to be able to inject my dependencies in any modules.For example in this class: DBSeeder.java looks as follow:private HotelRepository hotelRepository;public DbSeeder(HotelRepository hotelRepository){ this.hotelRepository = hotelRepository;}..I would like to use instead:@Autowiredprivate HotelRepository hotelRepository;The Application class look as follow:@SpringBootApplication@EnableJpaRepositories(basePackages = {"rc"})@EntityScan(basePackages = {"rc"})@ComponentScan(basePackages = {"rc"})public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }}Any idea that could link me to the solution would be welcome. 解决方案 Looking at your code, you cannot Autowire a Hotel bean, because it's not registered properly.https://github.com/IDCS1426/SpringBootMultipleMavenModules/blob/master/domain/src/main/java/rc/domain/Hotel.java#L10You need to add @Component there to be able to inject it in https://github.com/IDCS1426/SpringBootMultipleMavenModules/blob/master/persistence/src/main/java/rc/persistence/DbSeeder.java#L21Also, the project will never compile, as you're adding a non-existing module: https://github.com/IDCS1426/SpringBootMultipleMavenModules/blob/master/pom.xml#L14. You need to remove that :).Having said all of that, it's very weird to me the way you're trying to inject an Entity like that, but that's not part of this question.By doing that, the code compiles just fine. 这篇关于Springboot多模块项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
09-24 21:49