云服务器免费试用

Autowired在Spring Boot多模块项目中的使用

服务器知识 0 1351

在Spring Boot多模块项目中,通常会有一个主项目和多个子模块。为了在子模块中使用@Autowired注解注入依赖,需要做一些配置。

Autowired在Spring Boot多模块项目中的使用

  1. 在主项目的启动类中使用@ComponentScan注解指定要扫描的包路径,包括主项目和所有子模块的包路径。例如:
@SpringBootApplication
@ComponentScan(basePackages = {"com.example.main", "com.example.submodule1", "com.example.submodule2"})
public class MainApplication {
    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
    }
}
  1. 在子模块中使用@Autowired注解注入依赖,确保被注入的类被Spring容器管理。例如:
@Component
public class SomeService {
    public void doSomething() {
        // do something
    }
}
@Service
public class SomeOtherService {
    
    @Autowired
    private SomeService someService;
    
    public void doSomethingElse() {
        someService.doSomething();
    }
}
  1. 确保子模块的包路径在主项目的@ComponentScan注解中被扫描到,以便Spring能够识别和管理子模块中的Bean。

通过以上配置,就可以在Spring Boot多模块项目中正常使用@Autowired注解来注入依赖。需要注意的是,子模块中的Bean必须被Spring容器管理才能够被注入,否则会出现NullPointerException异常。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942@qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Autowired在Spring Boot多模块项目中的使用
本文地址: https://solustack.com/170439.html

相关推荐:

网友留言:

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。