学科分类
目录
Spring Boot开发

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

在上一小节中,讲解了在Spring Boot中如何引入自定义的XML配置文件,Spring Boot并不推荐使用类似Spring中的XML配置文件方式来进行配置,只有在特殊情况下才会使用这种XML自定义配置文件。相反,在Spring Boot框架中,更推荐使用配置类的方式向容器中添加和配置组件。

在Spring Boot框架中,通常使用@Configuration注解定义一个配置类,Spring Boot会自动扫描和识别配置类,从而替换传统Spring框架中的XML配置文件。当定义一个配置类后,还需要在类中的方法上使用@Bean注解进行组件配置,将方法的返回对象注入到Spring容器中,并且组件名称默认使用的是方法名,当然也可以使用@Bean注解的name或value属性自定义组件的名称。

为了演示@Configuration注解的使用,下面,将在chapter02项目的基础上通过一个案例来演示说明,具体步骤如下。

(1)在chapter02项目的com.itheima.config包下,新建一个类MyConfig,并使用@Configuration注解将该类声明一个配置类,内容如文件1所示。

文件1 MyConfig.java

 1    import org.springframework.context.annotation.Bean;
 2    import org.springframework.context.annotation.Configuration;
 3    @Configuration  // 定义该类是一个配置类
 4    public class MyConfig {
 5        @Bean        // 将返回值对象作为组件添加到Spring容器中,该组件id默认为方法名
 6        public MyService myService(){
 7            return new MyService();
 8        }
 9    }

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

(2)为了查看@Configuration注解配置类的效果,将之前项目启动类Chapter02Application上添加的@ImportResource注解注释,执行项目测试类Chapter02ApplicationTests中的测试方法iocTest(),查看控制台输出效果,结果如图1所示。

图1 程序测试效果

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

点击此处
隐藏目录