Spring Boot测试,autowire找不到Bean

auroradad 2016-12-03 05:55:46
怎么整都抱错,死活找不到bean,哪个兄弟知道哪有问题?

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.example.DemoApplication$ReservationRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}



package com.example;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.JpaRepository;

@SpringBootApplication
public class DemoApplication {

public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}

interface ReservationRepository extends JpaRepository<Booking, Long> {
}

@Entity
class Booking {

Booking() {
}

public Booking(String bookingName, int groupSize) {

}

@Id
@GeneratedValue
private long id;

private String bookingName;
private int groupSize;

public long getId() {
return id;
}

public void setId(long id) {
this.id = id;
}

public String getBookingName() {
return bookingName;
}

public void setBookingName(String bookingName) {
this.bookingName = bookingName;
}

public int getGroupSize() {
return groupSize;
}

public void setGroupSize(int groupSize) {
this.groupSize = groupSize;
}
}

}




package com.example;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import com.example.DemoApplication.ReservationRepository;

@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {

@Autowired
ReservationRepository reservationRepository;

@Test
public void contextLoads() {
}

}

...全文
1449 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
auroradad 2016-12-04
  • 打赏
  • 举报
回复
写到类里面了,所以找不到。。。。。。可以在同一个文件里面,但不能是内部类。。。。
爱睡觉的阿狸 2016-12-03
  • 打赏
  • 举报
回复
interface ReservationRepository extends JpaRepository<Booking, Long> { } 这个最好单独用一个类文件,很可能你放类里面,spring没有扫描到。
爱睡觉的阿狸 2016-12-03
  • 打赏
  • 举报
回复
interface ReservationRepository extends JpaRepository<Booking, Long> { } 放外面,顺便检查下你配置如何扫描包的。
游一游走一走 2016-12-03
  • 打赏
  • 举报
回复
请尝试将ReservationRepository,Booking使用单独的文件,并且指定为public
Ansel-枫儿-Moe 2016-12-03
  • 打赏
  • 举报
回复
引用 2 楼 m2200 的回复:
interface ReservationRepository extends JpaRepository<Booking, Long> { } 放外面,顺便检查下你配置如何扫描包的。
Spring Boot没有配置文件的 问题原因:ReservationRepository 是接口,没有实现,另外写的实现类需要注解标注

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧