我不确定我的代码有什么问题。我试着学习Spring Boot WebFlux。但我无法运行应用程序,因为我得到以下错误:
com.thomsoncodes.todo.controller.ToDoController中构造函数的参数0需要一个类型为“com.thomsoncodes.todo.repository.ToDoRespository”的bean,但找不到该bean
疲惫@Autowired但我仍然有同样的错误。
这是我的代码
build.gradle
plugins {
id 'org.springframework.boot' version '2.1.3.RELEASE'
id 'java'
}
apply plugin: 'io.spring.dependency-management'
group = 'com.thomsoncodes.todo'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-webflux'
compileOnly 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'io.projectreactor:reactor-test'
}
应用程序类别
package com.thomsoncodes.todo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringBootTodoWebfluxApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootTodoWebfluxApplication.class, args);
}
}
控制器类
package com.thomsoncodes.todo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import com.thomsoncodes.todo.domain.ToDo;
import com.thomsoncodes.todo.repository.ToDoRespository;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
@RestController
public class ToDoController {
private ToDoRespository repository;
public ToDoController(ToDoRespository repository) {
this.repository = repository;
}
@GetMapping("/rodo/{id}")
public Mono<ToDo> getTodo(@PathVariable String id) {
return this.repository.findById(id);
}
@GetMapping("/todo")
public Flux<ToDo> getToDos() {
return this.repository.findAll();
}
}
域类
package com.thomsoncodes.todo.domain;
import java.time.LocalDateTime;
import java.util.UUID;
import lombok.Data;
@Data
public class ToDo {
private String id;
private String description;
private LocalDateTime created;
private LocalDateTime modified;
private boolean completed;
public ToDo() {
this.id = UUID.randomUUID().toString();
this.created = LocalDateTime.now();
this.modified = LocalDateTime.now();
}
public ToDo(String description) {
this();
this.description = description;
}
public ToDo(String description, boolean completed) {
this();
this.description = description;
this.completed = completed;
}
}
知识库类
package com.thomsoncodes.todo.repository;
import java.util.Arrays;
import com.thomsoncodes.todo.domain.ToDo;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
public class ToDoRespository {
private Flux<ToDo> toDoFlux = Flux.fromIterable(Arrays.asList(
new ToDo("Do Homework"),
new ToDo("Workout in the morning", true),
new ToDo("Make dinner tonight"),
new ToDo("Clean the studio", true),
new ToDo("Learn spring boot", true)));
public Mono<ToDo> findById(String id) {
return Mono.from(
toDoFlux.filter( todo -> todo.getId().equals(id)));
}
public Flux<ToDo> findAll() {
return toDoFlux;
}
}
ToDoRepository未标记为@Component。
我想有一个SSO CAS认证,我已经按照Bealdung的教程(https://www.baeldung.com/spring-security-cas-sso第4部分)的说明,但当我作为Spring启动应用程序运行时,我有这个错误 SecurityConfig中构造函数的参数0需要找不到类型为“org.springframework.security.cas.authentication.Cas
我正在创建一个,其中任何客户端都可以提交请求,这些请求可以是、、、。 但是在创建这个应用程序时,我遇到了以下错误: 我的应用程序的结构是: 我尝试用、、注释,但仍然得到相同的错误。 我甚至从这些答案中尝试了解决方案: (1)构造函数的参数0需要一个类型为'java.lang.String'的bean,但找不到该bean 但我仍然无法解决我的问题。
我是Spring启动的新手,我无法从我的Spring启动书中获取示例来工作。这是代码 描述: Thomas中构造函数的参数0。ChapterController需要一个 行动: 考虑定义一个“Thomas”类型的bean。在你的配置中。 章节.java 第章存储库.java LoadDatabase.Java 章节控制器.java ThomasSpringApplication.java
运行应用程序后控制台显示的错误粘贴在下面 套餐下有3个等级 bduckapp1application.java<-SpringBoot应用程序 bducktrigger.java<-restcontrol oss.java<-data类 pom.xml 我尝试了各种stackoverflow文章中针对类似错误提到的所有解决方案。建议将这些类移动到与类相同的文件夹中,或者包含具有它属性的包。没有一个
我正在用spring Boot2.x应用程序处理spring batch,实际上它的现有代码我是从Git签出的。在运行应用程序时,它失败了,因为下面的错误只对我来说,同样的代码是为其他人工作的。 我已经检查了下面 null
以下是服务: 下面是映射器: