当前位置: 首页 > 知识库问答 >
问题:

在maven多模块项目中,beans的Spring Boot自动操作不起作用

东门胤
2023-03-14

在使用spring boot和maven将我们的项目模块化到不同的独立maven项目中时,我们遇到了一个问题,即多模块maven项目中bean的自动生成不起作用。

    null

问题是Rewards和DBservices1中用于获取用@service/@repository注释的映射服务的@autowired注释在rewardsapp项目中不可用。

作为一种解决办法,我们在rewardsapp中配置了带有@bean注释的bean,这样服务器就可以成功启动服务。使用这种方法,我们需要手动配置依赖项目中使用的rewardsapp中的所有bean。我们的应用程序中有许多服务和存储库,我们认为这样创建bean不是一种合适的方法,因为需要创建许多bean。

请注意,我们已经在包com.company.application下创建了所有项目的所有Spring Boot控制器、服务和存储库

下面是main类的片段:

@SpringBootApplication
@ComponentScan(basePackages = {"com.company.application"})
public class RewardsApp extends SpringBootServletInitializer {

  public static void main(String[] args) {
        SpringApplication.run(RewardsApp.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(RewardsApp.class);
    }
}

/**
*Manual beans in  RewardsApp
**/
@Bean
public SomeService someService()
{
    return new SomeService();
}

共有1个答案

华泳
2023-03-14

通过在rewardSapp.java中添加下面的注释,我成功了,现在autowiring正在为JAR中的类工作

@ComponentScan(basePackages = {"com.company"})
@EntityScan(basePackages = {"com.company"})
@EnableJpaRepositories(basePackages = {"com.company"})

我猜上面是针对服务、实体(域)、存储库的

 类似资料:
  • 父项目为demo-mybatis子模块为mybatis-dao、demo-service。demo-mybatis pom.xml如下: 4.0.0 pom mybatis-DAO Demo-service Demo-mybatis-app org.springframework.Boot spring-boot-starter-parent 2.3.2.release com.example D

  • 我曾广泛使用过Maven 目前有5个不同的maven项目,每个项目都有一个不同的pom.xml。到目前为止,它们之间存在依赖关系,如果需要,每一个都指向 中的另一个。 现在我们不喜欢的是 当我们发布子projectA时,我们需要手动修改所有将projectA作为依赖项的项目以使用新版本。Saw Maven有一个版本插件,不知道这会有什么帮助。 作为解决方案,我希望在POM之间有一个更干净的组织,并

  • 多模块项目的Maven汇编插件没有收集所有子模块。 下面是我的项目的层次结构(根据maven父/子): ss.parent/pom.xml包含: Assembly.xml: 因此,我期望的是一个集合包含: ss.a.1.jar SS.A.2.jar SS.B.1.jar SS.B.2.jar 但是,我只有SS.A.1.jar和SS.A.2.jar!maven似乎在第一个multime模块(即ss.

  • 我有一个父pom和两个子pom,用于jar和war文件。war文件将jar文件作为pom中的依赖项。因此,构建顺序定义如下 家长 儿童罐 儿童战争 在父pom中,模块如下所示。 要部署到Jboss的最后一个工件位于父/工作区/子war/目标/项目文件夹下。战争 当我从父工作区文件夹调用maven目标时,部署失败。 mvn清理编译安装jboss为:deploy-Dmaven。测验跳过=真 我尝试在父

  • 我有一个简单的Maven项目,看起来像这个项目视图 有一个主要的pom。xml如下所示: 有两个模块-核心和测试。核心模块pom.xml: 测试模块pom。xml 我想使用核心内部测试的代码。这种依赖性看起来是正确的。该项目已生成,没有错误: 但是,当我在测试中尝试从core导入一个类时,找不到该类。

  • 我有一个基本的SpringBoot应用程序。使用Spring初始值设定项、嵌入式Tomcat、Thymeleaf模板引擎,并将包作为可执行的JAR文件。是一个带有Spring Boot的多模块项目,该项目将有3个模块。这里是父模块pom。xml 这里是模块核心 这里是模块web: 从父根目录,我使用以下方法生成所有模块: 但问题是tdk-web-0.0.2-SNAPSHOT。jar不包含tdk-c