对于此演示:
- 我在
event-starter
模块中定义了一个Bean作为Sping Boot Starter,我想在我的应用程序模块中使用它:据我所知,它在GreeterAutoConfiguration
文件和resources/META-INF/spring.factories
文件中有正确的配置,尽管过于简化。 - 我的
application
模块中的build.gradle
文件将event-starter
作为依赖项拉入,如下所示:
implementation project(':event-starter')
- 我同时使用
io.spring.dependency-management
和org.springframework.boot:spring-boot-configuration-processor
注解处理器。 - 我的编译就像我期望的那样。
然而,当我实际 * 运行 * 应用程序时,我从starter模块中拉入的Bean似乎不能被Spring IoC容器所识别,我不知道为什么:
Field greeter in com.example.app.StarterApplication required a bean of type 'com.example.starter.Greeter' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'com.example.starter.Greeter' in your configuration.
我大致使用这两个教程[1,2]进行开发,这里是一个链接到突破性的演示:
任何帮助,以确定什么是遗漏/错误将不胜感激!
1条答案
按热度按时间unguejic1#
我提交了一个解决这个问题的演示,但总结一下:
@SpringBootApplication(scanBasePackages = “com.example”)
,其中com.example
是启动器和应用程序的父包,解决了这个问题。可以想象,这也可以是直接相邻的包。