Java 获取错误“;应用程序启动失败";使用简单的Spring启动应用程序
我遵循这一点,用Spring Boot构建了一个REST服务。一切编译都很好,但启动后我得到了这个错误Java 获取错误“;应用程序启动失败";使用简单的Spring启动应用程序,java,spring-boot,Java,Spring Boot,我遵循这一点,用Spring Boot构建了一个REST服务。一切编译都很好,但启动后我得到了这个错误 *************************** APPLICATION FAILED TO START *************************** Description: Field repo in com.pearlbit.ContactRestController required a bean of type 'com.pearlbit.Contact$Cont
***************************
APPLICATION FAILED TO START
***************************
Description:
Field repo in com.pearlbit.ContactRestController required a bean of type 'com.pearlbit.Contact$ContactRepository' that could not be found.
Action:
Consider defining a bean of type 'com.pearlbit.Contact$ContactRepository' in your configuration.
你知道怎么了吗
更新:
这是我的“联系人”类别代码
package com.pearlbit;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Document
public class Contact {
public interface ContactRepository extends MongoRepository<Contact, String> {
List<Contact> findByLastName(String lastName);
}
@Id
private String id;
private String firstName;
private String lastName;
private String address;
private String phoneNumber;
private String email;
private String twitterHandle;
private String facebookProfile;
private String linkedInProfile;
private String googlePlusProfile;
public String getId() {
return id;
}
public void setId(String 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 getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTwitterHandle() {
return twitterHandle;
}
public void setTwitterHandle(String twitterHandle) {
this.twitterHandle = twitterHandle;
}
public String getFacebookProfile() {
return facebookProfile;
}
public void setFacebookProfile(String facebookProfile) {
this.facebookProfile = facebookProfile;
}
public String getLinkedInProfile() {
return linkedInProfile;
}
public void setLinkedInProfile(String linkedInProfile) {
this.linkedInProfile = linkedInProfile;
}
public String getGooglePlusProfile() {
return googlePlusProfile;
}
public void setGooglePlusProfile(String googlePlusProfile) {
this.googlePlusProfile = googlePlusProfile;
}
}
package com.pearlbit;
导入org.springframework.data.annotation.Id;
导入org.springframework.data.mongodb.core.mapping.Document;
导入org.springframework.data.mongodb.repository.MongoRepository;
导入org.springframework.data.repository.query.Param;
导入org.springframework.stereotype.Repository;
导入java.util.List;
@文件
公共类联系人{
公共接口ContactRepository扩展了MongoRepository{
列出findByLastName(字符串lastName);
}
@身份证
私有字符串id;
私有字符串名;
私有字符串lastName;
私有字符串地址;
私有字符串电话号码;
私人字符串电子邮件;
私有字符串twitterHandle;
私有字符串facebookProfile;
私有字符串LinkedIn配置文件;
私有字符串googlePlusProfile;
公共字符串getId(){
返回id;
}
公共无效集合id(字符串id){
this.id=id;
}
公共字符串getFirstName(){
返回名字;
}
public void setFirstName(字符串firstName){
this.firstName=firstName;
}
公共字符串getLastName(){
返回姓氏;
}
public void setLastName(字符串lastName){
this.lastName=lastName;
}
公共字符串getAddress(){
回信地址;
}
公共无效设置地址(字符串地址){
this.address=地址;
}
公共字符串getPhoneNumber(){
返回电话号码;
}
public void setPhoneNumber(字符串phoneNumber){
this.phoneNumber=电话号码;
}
公共字符串getEmail(){
回复邮件;
}
公用电子邮件(字符串电子邮件){
this.email=电子邮件;
}
公共字符串getTwitterHandle(){
返回推特句柄;
}
公共void setTwitterHandle(字符串twitterHandle){
this.twitterHandle=twitterHandle;
}
公共字符串getFacebookProfile(){
返回facebookProfile;
}
公共void setFacebookProfile(字符串facebookProfile){
this.facebookProfile=facebookProfile;
}
公共字符串getLinkedInProfile(){
返回linkedInProfile;
}
public void setLinkedInProfile(字符串linkedInProfile){
this.linkedInProfile=linkedInProfile;
}
公共字符串getGooglePlusProfile(){
返回googlePlusProfile;
}
公共无效设置googlePlusProfile(字符串googlePlusProfile){
this.googlePlusProfile=谷歌plusProfile;
}
}
我已经包括了MongoRepository的界面,但它仍然给了我同样的问题。这是否需要添加到其他地方?可能您正在使用的bean类型是Contact$ContactRepository,但您尚未创建它,您应该首先注册此类型的bean。如果您使用的是spring boot,您可以通过添加JPA starter来扩展JPA存储库接口来完成此操作;
package hello;
import java.util.List;
import org.springframework.data.repository.CrudRepository;
public interface ContactRepositoryextends ContactRepository<Contact, Long> {
List<Customer> findByLastName(String lastName);
}
导入java.util.List;
导入org.springframework.data.repository.crudepository;
公共接口ContactRepository扩展ContactRepository{
列出findByLastName(字符串lastName);
}
试试这个。您的存储库将由spring自动实现。您可以发布一个示例吗?或者你能解释一下为什么你认为是这样吗?我有一个例子,这是我的模型课。公共接口ContactRepository扩展MongoRepository{}它属于那里还是其他地方?嵌套在Componet类中的接口。您可以尝试将接口提取到单独的java文件中,并添加@RepositoryThis是正确的。我的问题是我没有把这个单独归档。