Java jpa&x2B;弹簧&x2B;测试,找不到存储库类

Java jpa&x2B;弹簧&x2B;测试,找不到存储库类,java,spring,testing,spring-data-jpa,Java,Spring,Testing,Spring Data Jpa,我想测试spring jpa,但是 通过字段“personRepository”表示未满足的依赖关系 @Entity public class Person { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; private String name; private String code; private int flag; private S

我想测试spring jpa,但是 通过字段“personRepository”表示未满足的依赖关系

@Entity
public class Person {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    private String name;
    private String code;
    private int flag;
    private String source;
    //getters and setters ...
}


@Repository
public interface PersonRepository extends JpaRepository<Person, AtomicInteger> {
    Person findByName(String name);
    Person findByCodeAndName();
    @Query("from Person p where p.name = :name")
    Person findUser(@Param("name") String name);
}
main/resources中的my application.properties

    spring.datasource.url = jdbc:mysql://localhost:3306/learnspring
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.jpa.database = MYSQL
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
我的测试类:这个测试需要的每个类都在pom.xml中

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = LearnConfig.class)
public class Main {

    @Autowired
    PersonRepository personRepository;

    @Test
    public void testFunctionConfig() {
        Person p = personRepository.findByName("clz");
        System.out.println(p.getName());
    }
}
我只得到以下错误:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'personRepository': Invocation of init method failed; nested exception is java.util.NoSuchElementException

Spring无法加载PersonRepository,因为
findByCodeAndName
查询方法中缺少参数,请将其更改为:

@Repository
public interface PersonRepository extends JpaRepository<Person, AtomicInteger> {
    ...
    Person findByCodeAndName(String code, String name);
    ...
}
@存储库
公共接口PersonRepository扩展了JpaRepository{
...
Person findByCodeAndName(字符串代码、字符串名称);
...
}

findByCodeAndName
需要两个参数,但没有提供任何参数。事实上,我不知道我做了什么,今天下午我尝试了很多次,成功了!谢谢你的回答,这种方法也是我的错
@Repository
public interface PersonRepository extends JpaRepository<Person, AtomicInteger> {
    ...
    Person findByCodeAndName(String code, String name);
    ...
}