在使用 spring boot 和 maven 将我们的项目模块化为不同的独立 maven 项目时,我们遇到了一个问题,即多模块 maven 项目中的 bean 自动装配不起作用。
只是为了给你一个问题的概述,以下是迄今为止开发的独立maven项目
下面是依赖结构 RewardsApp-> Rewards -> DBservices1 -> Coreservices
问题是@Autowired在 Rewards 和 DBservices1 中使用的注释来获取用@Service/注释的映射服务@Repository在RewardsAppProject中不可用。
作为一种解决方法,我们RewardsApp使用@Bean注释配置了 bean ,然后服务器可以使用这些服务以成功启动。使用这种方法,我们需要手动配置RewardsApp依赖项目中使用的所有 bean 。我们的应用程序中有许多服务和存储库,我们认为创建这样的 bean 不是一种正确的方式,因为需要创建许多 bean。
请注意,我们已经在 package 下的所有项目中创建了所有 spring boot 控制器、服务、存储库 com.company.application
下面是主类的片段:
@SpringBootApplication
@ComponentScan(basePackages …Run Code Online (Sandbox Code Playgroud)