springboot注册Bean的多种方法总结

先上总结:
1.@ComponentScan结合@Component
2.@Bean
3.@Import
4.@ImportResource

来,结合用例体验一下
首先我们创建一个java bean:

@Data
@ToString
public class House {
    private Integer id;
    private  String name;
    private  String address;
}

1.使用@ComponentScan结合@Component注册bean

我们只需要用@ComponentScan注解告诉spring我们要扫描的路径,在需要注入spring的类上添加@Component注解告诉spring这是一个组件,就可以将该组件注册到容器中:

在类上标注@Component:
在这里插入图片描述
在启动类上加@ComponentScan并获取该bean对象:
在这里插入图片描述结果:
在这里插入图片描述
此处注意两点:
1.springboot不标识@ComponentScan,默认扫描启动类同级目录以及子目录,所以在此处我配置的@ComponentScan实际是冗余的,所以报红
2.@Component标注在类上,注入容器中默认的bean id为首字母小写的类名


2.使用@Bean注册bean

创建一个配置类,类上标注@Configuration告诉spring这是个注解类,再用@Bean注解方法产生bean对象交给spring管理
在这里插入图片描述
-此处的方法名就是bean id,返回值就是我们要交给spring管理的类-

尝试获取bean:
在这里插入图片描述结果:
在这里插入图片描述


3.@Import注册Bean

创建一个配置类,类上标注@Configuration告诉spring这是个注解类,再用@Import注解类告诉spring要注册的类:
在这里插入图片描述
-此处也是默认使用首字母小写的类名作为bean id-

我们再来getbean看看:
在这里插入图片描述结果:
在这里插入图片描述


4.@ImportResource

这种方法实际上是通过读取xml文件来配置bean,首先我们定义一个bean.xml,并在其中定义bean:
在这里插入图片描述然后我们创建一个配置类,类上标注@Configuration告诉spring这是个注解类,再用@ImportResource注解类,并告诉spring我们需要读取的xml文件位置:

在这里插入图片描述再来获取一下注册的bean,查看结果:
在这里插入图片描述结果:

在这里插入图片描述

以上就是四种springboot项目中向spring容器注册bean的方法,下次介绍向bean中注入依赖的方法,散会~

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐