(「・ω・)「嘿 猪宝
2022-01-13 12:07
采纳率: 100%
浏览 21
已结题

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

    评论
    解决 无用
    打赏 举报 编辑记录

相关推荐 更多相似问题