“Spring Boot @Configuration 详解”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第7行: 第7行:
 
=== @Configuration 的作用 ===
 
=== @Configuration 的作用 ===
 
告诉 Spring Boot 添加了 @Configuration 注解的类,是一个配置类,作用等同于以前的 XML 配置文件。
 
告诉 Spring Boot 添加了 @Configuration 注解的类,是一个配置类,作用等同于以前的 XML 配置文件。
 +
 +
比如为容器添加组件:<syntaxhighlight lang="java">
 +
@Configuration //告诉 SpringBoot 这是一个配置类 == 配置文件
 +
public class MyConfig {
 +
 +
    /**
 +
    * 给容器中添加组件。
 +
    * 以方法名作为组件的id。
 +
    * 返回类型就是组件类型。
 +
    * 返回的值,就是组件在容器中的实例
 +
    *
 +
    * 外部无论对配置类中的这个组件注册方法调用多少次获取的都是之前注册容器中的单实例对象
 +
    * @return
 +
    */
 +
    @Bean
 +
    public User user01() {
 +
        return new User("zhangsan", 18);
 +
    }
 +
 +
    @Bean("tom")
 +
    public Pet tomcatPet() {
 +
        return new Pet("tomcat");
 +
    }
 +
 +
}
 +
</syntaxhighlight>

2023年2月12日 (日) 07:47的版本

https://www.bilibili.com/video/BV19K4y1L7MT/?p=8

回顾旧版本通过 XML 配置文件进行 bean 配置

Spring XML 配置文件模板


@Configuration 的作用

告诉 Spring Boot 添加了 @Configuration 注解的类,是一个配置类,作用等同于以前的 XML 配置文件。

比如为容器添加组件:

@Configuration //告诉 SpringBoot 这是一个配置类 == 配置文件
public class MyConfig {

    /**
     * 给容器中添加组件。
     * 以方法名作为组件的id。
     * 返回类型就是组件类型。
     * 返回的值,就是组件在容器中的实例
     *
     * 外部无论对配置类中的这个组件注册方法调用多少次获取的都是之前注册容器中的单实例对象
     * @return
     */
    @Bean
    public User user01() {
        return new User("zhangsan", 18);
    }

    @Bean("tom")
    public Pet tomcatPet() {
        return new Pet("tomcat");
    }

}