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

再定义一个


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





浙公网安备 33010602011771号