我是 spring 的新手,正在尝试使用自动将 crudrepository 的实例(从 spring 数据)连接到另一个类(仅用于测试目的,之后我会将其自动连接到我的服务层)。 但是,Spring 找不到要自动连接的 bean 实例。
以下是错误消息:
Field repository in com.connor.ConnorApplication required a bean of type 'com.connor.dao.UserRepository' that could not be found.
Action:
Consider defining a bean of type 'com.connor.dao.UserRepository' in your configuration.
以下是运行我的 spring 应用程序的类的代码:
package com.connor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//import org.springframework.boot.autoconfigure.domain.EntityScan;
//import org.springframework.context.annotation.ComponentScan;
//import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import com.connor.dao.UserRepository;
@SpringBootApplication
public class ConnorApplication /*begin addition*/implements CommandLineRunner /*end addition*/{
//begin addition code
@Autowired
private UserRepository repository;
@Override
public void run(String... args) throws Exception
{
System.out.println("-------------------------------------");
long numEntries = repository.count();
System.out.println("There are " + numEntries + " entries in the user table");
System.out.println("-------------------------------------");
}
//end addition code
public static void main(String[] args) {
SpringApplication.run(ConnorApplication.class, args);
}
}
原油存储库的代码
package com.connor.dao;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import com.connor.model.User;
@Repository
public interface UserRepository extends CrudRepository<User, Integer>{
}
最后,这是我的文件夹结构的图片:
文件夹结构
这取决于您正在使用的 spring-data 项目(在 pom 中查找依赖项.xml例如spring-boot-start-data-*
),但您可能需要启用您的存储库。
例如,在 spring-data-mongodb 中,您需要在 application.properties 或 spring.xml 中进行@EnableMongoRepositories
注释或等效配置。