您好,我是 Spring Boot 的新手,一段時間以來我收到此錯誤,不幸的是無法修復它。從那時起我就在谷歌上搜索,但仍然沒有發現我做錯了什么。我相信服務類中存在錯誤。我試圖洗掉欄位注入(@Autowired)并實作為建構式注入,但效果不佳在我的代碼下方查找:
物體:
package com.devops.maven.cars_api_maven.model;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import javax.persistence.*;
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
@Entity
@Table(name = "CARS")
@SequenceGenerator(name="seq", initialValue=4, allocationSize=100)
public class Car {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq")
private Long id;
String manufacturer;
String model;
int build;
public Car() {
}
public Car(Long id, String manufacturer, String model, int build) {
this.id = id;
this.manufacturer = manufacturer;
this.model = model;
this.build = build;
}
public Long getId() {
return id;
}
public String getManufacturer() {
return manufacturer;
}
public String getModel() {
return model;
}
public int getBuild() {
return build;
}
public void setId(Long id) {
this.id = id;
}
public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer;
}
public void setModel(String model) {
this.model = model;
}
public void setBuild(int build) {
this.build = build;
}
}
道
package com.devops.maven.cars_api_maven.repositories;
import com.devops.maven.cars_api_maven.model.Car;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface CarsRepository extends JpaRepository<Car, Long> {
}
主要的
package com.devops.maven.cars_api_maven;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@SpringBootApplication (
exclude = {DataSourceAutoConfiguration.class },
scanBasePackages={
"com.devops.maven", "com.devop.application"}
)
public class CarsApplication {
public static void main(String[] args) {
SpringApplication.run(CarsApplication.class, args);
}
}
服務等級
package com.devops.maven.cars_api_maven;
import com.devops.maven.cars_api_maven.model.Car;
import com.devops.maven.cars_api_maven.repositories.CarsRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("cars")
@Service
public class CarsController {
@Autowired
private CarsRepository repository;
@GetMapping
public List<Car> getCars() {
return repository.findAll();
}
@PostMapping
public Car addCar(@RequestBody Car car) {
return repository.save(car);
}
@SuppressWarnings("deprecation")
@GetMapping(value = "/{id}")
public Car getCarById(@PathVariable("id") long id) {
return repository.getOne(id);
}
@DeleteMapping(value = "/{id}")
public void removeCarById(@PathVariable("id") long id) {
repository.deleteById(id);
}
}
錯誤輸出:
****************************** 應用程式無法啟動
描述:
com.devops.maven.cars_api_maven.CarsController 中的欄位存盤庫需要找不到型別為“com.devops.maven.cars_api_maven.repositories.CarsRepository”的 bean。
注入點有以下注解:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
行動:
考慮在您的配置中定義“com.devops.maven.cars_api_maven.repositories.CarsRepository”型別的 bean。
uj5u.com熱心網友回復:
請exclude = {DataSourceAutoConfiguration.class }從下面的類中洗掉并再次運行。它將解決問題。
package com.devops.maven.cars_api_maven;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@SpringBootApplication (
exclude = {DataSourceAutoConfiguration.class },
scanBasePackages={
"com.devops.maven", "com.devop.application"}
)
public class CarsApplication {
public static void main(String[] args) {
SpringApplication.run(CarsApplication.class, args);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/517099.html
標籤:爪哇春天弹簧靴行家
下一篇:java快取方法的結果嗎?
