通过@Configuration配置无法获取@Bean标注的类对象

项目场景:

学习Spring boot使用@Configuration编写自定义配置类


问题描述

通过配置MyConfig类,无法在测试中获取@Bean标注的类对象MyService

@Configuration
public class MyConfig {
    @Bean(name = "myService")   //将标注的返回值存到spring容器中
    public MyService myService() {
        return new MyService();
    }
}

测试类中:

@Autowired
    private ApplicationContext applicationContext;
@Test
	 void contextLoads() {
	 	System.out.println(applicationContext.containsBean("myService"));
    }

一直返回false


原因分析:

我把MyConfig和项目启动类Application类放在不同级的文件夹下,比如

如图,项目启动类Application在chapter02下,而config和chapter02是同级文件夹,把MyConfig文件放在config文件夹下就会找不到@bean所标注的类


解决方案:

将MyService类放置在与项目启动类Application同一个的文件夹chapter02下,或者同级文件夹,比如在这里插入图片描述

这里把MyConfig放在和项目启动类同一级的domain文件夹

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值