SpringBoot应用启动时,默认会自动扫描与启动类在同个包以及子包下的Bean。

所以当启动类的包名与项目子模块等的包名不同时,可以在启动类上添加包扫描注解:

package com.xxx.app.bff.service;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.ComponentScan;

@EnableDiscoveryClient
@SpringBootApplication
@ComponentScan(value = {"com.xxx.app.bff.service.*", "com.xxx.app.bff.sdk.*"})
public class AppApplication {
    public static void main(String[] args) {
        SpringApplication.run(AppApplication.class, args);
    }
}

需要注意的是,一旦指定了@ComponentScan,则将不会再从默认的启动类扫描了,因此在扫描列表中还需要单独添加启动类所在的包:

com.xxx.app.bff.service

如有错误欢迎指正,以免误人子弟。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐