我遵循了亚历山大·杜蒙特(Alexander Duemont(的博客,试图实现一个消耗云铸造厂目的地的Java Spring Boot应用程序。该目的地在其后面有一个自定义的ODATA V2,来自本地ERP系统。对于本地开发人员,当我执行Maven构建时,集成检验模块寄存器由于依赖注入而导致的失败
这是我的控制器的一部分
@RestController
@RequestMapping("/resources")
public class ClassificationsController {
private static final Logger logger = CloudLoggerFactory.getLogger(ClassificationsController.class);
private final ClassificationService service;
public ClassificationsController(@Nonnull final ClassificationService service) {
this.service = service;
}
…..
}
@nonnull最终分类服务服务导致org.springframework.beans.factory.unsatistieddependendendencyException我无法在生成的服务类(流利(上使用春季刻板印象注释来创建豆!
这个问题更可能与春季启动配置有关。
我假设ClassificationService
是一个接口,并且在同一软件包中存在实现类。
请确保...
-
...将
ClassificationService
的实现类添加到组件扫描/测试运行时。随意共享集成测试代码以设置测试环境。也许缺少其他类参考。 -
...正确注释Spring Boot项目的相应应用程序类。例如,假设您的
ClassificationService
位于org.example.services.classification
中,而应用程序的其余部分则使用org.example.app
。您的基本应用程序类看起来像这样,遵循 cloud SDK 指南:@SpringBootApplication @ComponentScan({"com.sap.cloud.sdk", "org.example.services.classification", "org.example.app"}) @ServletComponentScan({"com.sap.cloud.sdk", "org.example.app"}) public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure( final SpringApplicationBuilder application ) { return application.sources(Application.class); } public static void main( final String[] args ) { SpringApplication.run(Application.class, args); } }
-
...用
javax.inject.Named
注释ClassificationService
的实现类。如果您具有相同界面的多个实现,请确保为@Named
注释提供未使用的类(唯一(值。 -
...要在启动期间的应用程序日志中寻找异常( class (。