在Spring Boot多模块项目中,通常会有一个主项目和多个子模块。为了在子模块中使用@Autowired注解注入依赖,需要做一些配置。
@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);
}
}
@Component
public class SomeService {
public void doSomething() {
// do something
}
}
@Service
public class SomeOtherService {
@Autowired
private SomeService someService;
public void doSomethingElse() {
someService.doSomething();
}
}
通过以上配置,就可以在Spring Boot多模块项目中正常使用@Autowired注解来注入依赖。需要注意的是,子模块中的Bean必须被Spring容器管理才能够被注入,否则会出现NullPointerException异常。