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

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

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

    d4fYBeKMEyjN8sv

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

    2JscVOj1gvk6WGb

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

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

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