springboot自学(1)bean的加载方式

第一个加载方式:

Xml:

声明和加载自定义的bean

 

声明第三方的bean

遍历bean名称(id)

如果不自定义id的话,会自动命名一个

 

Xml+注解:

对xml文件进行修改

 

 

配置第三方的bean

 

 

 

 

 

 

 

纯注解:

 

 

 

FactoryBean

 

 

 

 

为什么会有这个需求呢,原因就是在return之前,可以做一些前置列化的初始工作。比如reids对象的创建,可以在这里判断redis是否启动,环境检测等。

 

 

如果原先是XML开发后来转成了纯注解开发,怎么兼容?

 

 

ProxyBeanMethod:

 

也就是说这个bean是代理对象

 

 

修改成false,结果就不一样了,bean就不是代理对象了。

那么这个起到了什么作用呢

 

 

也就是说ProxyBeanMethod为true的时候,spring容器中加载过的bean,再调用创建bean的方法,只会去容器中拿那个bean,而不是再创建一个。False相反。

Import:

这个方法可以有效的解耦,不用在类上面写加载bean的注解,可以做到无入侵编程,以后不用spring也可以使用这个代码。而且创建bean也比前面省事,少写一些代码。

 

 

手工加载bean

 

多个手工注册,是后面的覆盖前面的

 

 

第六种加载方式

 

 

 

可以写多个

为什么要这样写,不仅可以加载bean,还可以控制bean。动态加载bean,此方法源码中大量使用。

 

第七种加载方式

 

 

 

 

第八个加载方式:

 

 

 

 

 

 

 

 

 

MyRegistrar的优先级更高,会覆盖前面的bean

 

再定义一个

相同的就是配置顺序的关系了,后面覆盖前面

 

 

 

 

posted @ 2024-07-17 17:15  蓝海的bug本  阅读(6)  评论(0编辑  收藏  举报