私はこのエラーが数週間続いています。スタックオーバーフローに関する同様のソリューションは私のプロジェクトには適していません。'mainController'という名前のBeanを作成中にエラーが発生しました:フィールド 'userRepository'で表現されている依存関係が未確認です
私は現在、MySQLデータベースを使用しますが、サーバを起動しようとするたびに、この問題が発生しています:のStackTrace
[ERROR]はゴールorg.springframework.bootの実行に失敗しました:春-ブート達人-plugin:1.5.6.RELEASE:プロジェクト(デフォルト - cli)で実行iPbackend:実行中に例外が発生しました。 null:InvocationTargetException: 'mainController'という名前のBeanを作成中にエラーが発生しました:フィールド 'userRepository'で表されている満足度の低い依存関係。ネストされた例外はorg.springframework.beans.factory.NoSuchBeanDefinitionExceptionです: 'com.resource.iPbackend.UserRepository'タイプの適格なBeanはありません:autowire候補と見なされる少なくとも1つのbeanが必要です。依存関係のアノテーション:{@ org.springframework.beans.factory.annotation.Autowired(=真必須)
私はこのメインコントローラを使用しています: このリポジトリと一緒にMainController.java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.resource.iPbackend.UserRepository;
import com.resource.iPbackend.User;
@Controller
@RequestMapping(path = "/main")
public class MainController {
@Autowired
private UserRepository userRepository;
@RequestMapping(path = "/reg", method = RequestMethod.POST)
public @ResponseBody String regNewUser (@RequestParam String firstName, @RequestParam String lastName, @RequestParam String email, @RequestParam String password, @RequestParam String username) {
User n = new User();
n.setFirstName(firstName);
n.setLastName(lastName);
n.setEmail(email);
n.setPassword(password);
n.setUsername(username);
userRepository.save(n);
return "User is stored in database: " + n;
}
@GetMapping(path = "/all")
public @ResponseBody Iterable<User> getAllUsers() {
return userRepository.findAll();
}
}
を: UserRepository.java
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import com.resource.iPbackend.User;
@Repository
public interface UserRepository extends CrudRepository<User, Long> {
}
そして、このエンティティ: User.java
import org.springframework.data.annotation.Id;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
private String firstName;
private String lastName;
private String email;
private String password;
private String username;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
'@ AutoWired'がコントローラでそれを使用しているときにインスタンスを初期化できないように、' UserRepository'を実装しているクラスはありません –
@TuyenNguyenリポジトリは特別なケースとして扱われます。 @ Repostory' – Jason
あなたの設定(JavaまたはXMLベース)がコンポーネントスキャンか、オートワイヤリングしようとしているBeanを宣言していることを確認してください。 – Jason