一丝净土 2022-01-13 12:07 采纳率: 100%
浏览 95
已结题

spring boot测试类junit无法注入实体对象类?

问题遇到的现象和发生背景

可以注入Service,但是就是无法注入实体对象

问题相关代码,请勿粘贴截图
package com.yuyouya.householdledger;

import com.yuyouya.householdledger.service.FamilyService;
import com.yuyouya.householdledger.user.Family;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.web.WebAppConfiguration;

import javax.annotation.Resource;

@SpringBootTest
class HouseholdledgerApplicationTests {

    @Test
    void contextLoads() {
    }

    @Resource
    private FamilyService familyService; //可以注入
    @Resource
    Family family; //无法注入

    @Test
    void insertFamily() {
        family.setCode("haha1");
        family.setName("很爱很爱你!");
        System.err.println(family);
//        Family family = new Family();
//        family.setName("测试家庭5");
//        familyService.insertFamily(family);
    }
}


运行结果及报错内容

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.yuyouya.householdledger.HouseholdledgerApplicationTests': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.yuyouya.householdledger.user.Family' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)}

我的解答思路和尝试过的方法

网上搜的与启动类名称一样不存在,因为测试后面加的Test
service为什么可以注入,实体对象为什么不可以?

我想要达到的结果

可以在测试类成功注入实体对象类!

  • 写回答

1条回答 默认 最新

  • 心怀啊 2022-01-13 12:27
    关注

    你可以new一个,或者在实体类上加@Component

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 1月21日
  • 已采纳回答 1月13日
  • 创建了问题 1月13日

悬赏问题

  • ¥20 如何推断此服务器配置
  • ¥15 关于github的项目怎么在pycharm上面运行
  • ¥15 内存地址视频流转RTMP
  • ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
  • ¥15 找一个QT页面+目标识别(行人检测)的开源项目
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败