V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
movq
V2EX  ›  程序员

SpringBoot 求教这里为什么 Autowire 找不到 bean

  •  
  •   movq · 42 天前 · 1706 次点击
    这是一个创建于 42 天前的主题,其中的信息可能已经有所发展或是发生改变。

    d4fYBeKMEyjN8sv

    如果测试程序使用这个,就能找到 dog 这个 bean

    2JscVOj1gvk6WGb

    第 1 条附言  ·  42 天前
    谢谢大家,已解决,因为我使用的是 junit4,所以根据 5 6 楼的解答,使用 @RunWith(SpringRunner.class)即可
    10 条回复    2021-09-14 10:24:07 +08:00
    Xhack
        1
    Xhack   42 天前
    源码包和 test 不是一个包吧
    hiw2016
        2
    hiw2016   42 天前
    第二张图「如果测试程序使用这个」,没太看懂这句话
    hiw2016
        3
    hiw2016   42 天前
    @hiw2016 #2 建议直接把项目放出来
    DeadLion
        4
    DeadLion   42 天前   ❤️ 1
    看来是个新手了

    你程序启动会自动加载加载 spring 一系列的上下文,包括各种 bean

    但是 test 包不会自动加载的,但是我记得有个注解可以加到测试类上就能帮你加载 spring 上下文了。
    NotFoundEgg
        5
    NotFoundEgg   42 天前   ❤️ 1
    不知道你用的是 Junit4 还是 5
    如果是 Junit4 测试类上打一个 @RunWith(SpringRunner.class)
    leonme
        6
    leonme   42 天前 via iPhone   ❤️ 1
    @RunWith(SpringRunner.class)
    @SpringBootTest
    movq
        7
    movq   42 天前
    @Xhack 是一个包吧,都是 com.kuang 里面的,com.kuang 里的测试程序看不见 com.kuang.pojo 里面的类吗?
    @hiw2016 意思就是我在第二章图里面那个 spring application 里面,使用 @Autowired 注解可以找到 dog 这个 bean
    Xhack
        8
    Xhack   42 天前
    @movq 可能没有加载到 test 包里,加个注解
    chenshun00
        9
    chenshun00   41 天前
    同志你这么一描述,还不如在 github/gitee 创建一个 repo 。
    Chinsung
        10
    Chinsung   40 天前
    6 楼应该是正解,测试类不是只写一个 SpringBootTest 这么写的。
    你这里应该是
    @RunWith(SpringRunner.class)
    @SpringBootTest(classes = Springboot02 (你那个 application 启动类).class)
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1031 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 19:04 · PVG 03:04 · LAX 12:04 · JFK 15:04
    ♥ Do have faith in what you're doing.