使用@Configuration编写自定义配置类

本文介绍了在Spring Boot中如何使用@Configuration注解创建自定义配置类,以替代XML配置文件。通过在配置类的方法上添加@Bean注解,可以将方法返回的对象注入到Spring容器。文中提供了一个具体的例子,包括创建MyService类、MyConfig配置类以及测试方法,展示了如何通过配置类向Spring容器添加组件并验证其有效性。学习过程中,作者意识到自我知识的不足,决定每天坚持学习和分享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.7.2 使用@Configuration编写自定义配置类

在Spring Boot框架中,推荐使用配置类的方式向容器中添加和配置组件

在Spring Boot框架中,通常使用@Configuration注解定义一个配置类,Spring Boot会自动扫描和识别配置类,从而替换传统Spring框架中的XML配置文件。

当定义一个配置类后,还需要在类中的方法上使用@Bean注解进行组件配置,将方法的返回对象注入到Spring容器中,并且组件名称默认使用的是方法名,当然也可以使用@Bean注解的name或value属性自定义组件的名称

演示:

(1)在项目下新建一个com.lagou.config包,并在该包下新创建一个类MyService,该类中不需要编写任何代码


public class MyService {

}

创建了一个空的MyService类,而该类目前没有添加任何配置和注解,因此还无法正常被Spring Boot扫描和识别

(2) 在项目的com.lagou.config包下,新建一个类MyConfig,并使用@Configuration注解将该类声明一个配置类,内容如下:


      @Configuration  // 定义该类是一个配置类

      public class MyConfig {

         
@Bean        // 将返回值对象作为组件添加到Spring容器中,该组件id默认为方法名

         
public MyService myService(){

             
return new MyService();

          }

       }


MyConfig是@Configuration注解声明的配置类(类似于声明了一个XML配置文件),该配置类会被Spring Boot自动扫描识别;使用@Bean注解的myService()方法,其返回值对象会作为组件添加到了Spring容器中(类似于XML配置文件中的标签配置),并且该组件的id默认是方法名myService

(3)测试类


@Autowired

private ApplicationContext
applicationContext;

@Test

public void iocTest() {

       System.out.println(applicationContext.containsBean("myService"));

}

上述代码中,先通过@Autowired注解引入了Spring容器实例ApplicationContext,然后在测试方法iocTest()中测试查看该容器中是否包括id为myService的组件。

执行测试方法iocTest() ,查看控制台输出效果,结果如下:

image-20191225170545727

从测试结果可以看出,测试方法iocTest()运行成功,显示运行结果为true,表示Spirng的IOC容器中也已经包含了id为myService的实例对象组件,说明使用自定义配置类的形式完成了向Spring容器进行组件的添加和配置

学习让人快乐,学习更让人觉得无知!学了1个多月的《Java工程师高薪训练营》,才发现自己对每个技术点的认知都很肤浅,根本深不下去,立个Flag:每天坚持学习一小时,一周回答网上3个技术问题,把自己知道都分享出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值