![](/img/trans.png)
[英]org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name
[英]org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderController' error
嗨,我是 SpringBoot 的新手,当我尝试运行应用程序时,我不断收到此错误以及“上下文初始化期间遇到的异常 - 取消刷新尝试”。 这是我的 controller 类(orderController)
`package com.example.demo.controller;
import com.example.demo.model.Order;
import com.example.demo.repository.OrderRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("api/")
public class OrderController {
@Autowired
private final OrderRepository orderRepository;
public OrderController(OrderRepository orderRepository) {
this.orderRepository = orderRepository;
}
@GetMapping("/Order")
public ResponseEntity<List<Order>> getAllOrders() {
return ResponseEntity.ok(this.orderRepository.findAll());
}
@PostMapping("/Order")
public ResponseEntity<Order> createOrders(@RequestBody Order orderRequest) {
Order order=new Order();
order.setId(orderRequest.getId());
order.setSellerId(orderRequest.getSellerId());
order.setAddress(orderRequest.getAddress());
return ResponseEntity.ok(this.orderRepository.save(order));
}
}
`
删除字段上的@Autowired 注释并在构造函数级别添加。
package com.example.demo.controller;
import com.example.demo.model.Order;
import com.example.demo.repository.OrderRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("api/")
public class OrderController {
//@Autowired -remove from here
private final OrderRepository orderRepository;
@Autowired // add here
public OrderController(OrderRepository orderRepository) {
this.orderRepository = orderRepository;
}
@GetMapping("/Order")
public ResponseEntity<List<Order>> getAllOrders() {
return ResponseEntity.ok(this.orderRepository.findAll());
}
@PostMapping("/Order")
public ResponseEntity<Order> createOrders(@RequestBody Order orderRequest) {
Order order=new Order();
order.setId(orderRequest.getId());
order.setSellerId(orderRequest.getSellerId());
order.setAddress(orderRequest.getAddress());
return ResponseEntity.ok(this.orderRepository.save(order));
}
这应该工作
您可以使用名为 Lombok 的依赖项...非常有用:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>{Version what you need}</version>
</dependency>
Lombok 将通过仅选择最终字段来使用此注释创建一个构造函数。
添加后你可以这样做:
@RestController
@RequiredArgsConstructor
public class OrderController {
private final OrderRepository orderRepository;
@GetMapping("/Order")
public ResponseEntity<List<Order>> getAllOrders() {
return ResponseEntity.ok(this.orderRepository.findAll());
}
@PostMapping("/Order")
public ResponseEntity<Order> createOrders(@RequestBody Order
orderRequest) {
Order order=new Order();
order.setId(orderRequest.getId());
order.setSellerId(orderRequest.getSellerId());
order.setAddress(orderRequest.getAddress());
return ResponseEntity.ok(this.orderRepository.save(order));
}}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.