- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试执行一个Spring项目,但总是返回错误,不知道是否是Spring Boot版本的问题。
我有两个项目:
项目 IntegrationCore 包含项目 IntegrationModel 的引用(构建路径 -> 项目)
当我执行项目 IntegrationCore(运行方式 -> Spring boot 应用程序)时,返回控制台错误:
APPLICATION FAILED TO START
Description:
Field repository in com.integration.controller.NoteController required a > bean of type 'com.integration.repository.NoteRepository' that could not be > found. Action: Consider defining a bean of type 'com.integration.repository.NoteRepository' > in your configuration.
我尝试过:
集成核心
src/
├── main/
│ └── java/
| ├── com.integration/
| | └── IntegrationCoreApplication.java
| ├── com.integration.controller/
| | └── NoteController.java
| └── com.integration.repository/
| └── NoteRepository.java
集成模型
src/
├── main/
│ └── java/
| ├── com.integrationModel/
| | └── NoteStatuses.java
| └── com.integrationModel.filter/
| └── NoteStatusesParams.java
IntegrationCoreApplication.java
package com.integration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(scanBasePackages={
"com.integration", "com.integrationModel"})
public class IntegrationCoreApplication {
public static void main(String[] args) {
SpringApplication.run(IntegrationCoreApplication.class, args);
}
}
NoteController.java
package com.integration.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.integrationModel.NoteStatuses;
import com.integrationModel.filter.NoteStatusesParams;
import com.integration.repository.NoteRepository;
@Component
@RestController
@RequestMapping(value = "/services/nota")
public class NoteController {
@Autowired
private NoteRepository repository;
@RequestMapping(value = "/getStatuses", method = RequestMethod.POST)
@ResponseBody
public List<NoteStatuses> getStatuses(@RequestBody List<NoteStatusesParams> params) {
return repository.findStatuses(params);
}
}
NoteRepository.java
package com.integration.repository;
import java.util.List;
import org.springframework.stereotype.Service;
import com.integrationModel.NoteStatuses;
import com.integrationModel.filter.NoteStatusesParams;
@Service
public interface NoteRepository {
List<NoteStatuses> findStatuses(List<NoteStatusesParams> param);
}
NoteStatusesParams.java
package com.integrationModel.filter;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Singular;
import java.util.List;
@Getter
@Builder(builderClassName = "Builder")
@NoArgsConstructor
@AllArgsConstructor
public class NoteStatusesParams {
@Singular
private List<String> orderNumbers;
private String providerCpfCnpj;
private String noteNumber;
}
NoteStatuses.java
package com.integrationModel;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
@Data
@EqualsAndHashCode(of = {"id"})
public class NoteStatuses {
private Boolean physicalReceipt;
...
}
最佳答案
问题在于您的以下定义。
@Service
public interface NoteRepository {
List<NoteStatuses> findStatuses(List<NoteStatusesParams> param);
}
它是一个接口(interface),您不能使用@Service 将其定义为服务。 Spring 将尝试为此 bean 创建一个实例,但因此失败。
您需要使用 @Repostiry
注释并扩展相关存储库(即 JPA 或 ElasticSearch 存储库)将其定义为存储库。
关于java - ...NoteController 中的字段存储库需要类型为 ...NoteRepository 的 bean,但无法找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55920471/
我尝试执行一个Spring项目,但总是返回错误,不知道是否是Spring Boot版本的问题。 我有两个项目: IntegrationCore(Spring Boot 项目); Integration
我是一名优秀的程序员,十分优秀!