脚本宝典收集整理的这篇文章主要介绍了【Java高级工程师蜕变之路】010 Spring IOC源码分析,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
BeanFactory是整个SPRing框架中IOC容器的顶层接口,主要定义容器的基本规范,ApplicationContext是BeanFactory的子接口,具备BeanFactory的所有功能。
一般称BeanFactory为IOC的基础容器,ApplicationContext是容器的高级接口,有更多功能,比如国际化、资源访问等
<bean id="connectionUtils" class="com.test.transfer.utils.ConnectionUtils"></bean>
<bean id="connectionUtilsstatic" class="com.test.transfer.utils.createConnectionFactory" factory-method="getInstanceStatic"/>
<bean id="createConnectionFactory" class="com.test.transfer.utils.createConnectionFactory"/>
<bean id="connectionUtilsInstance" factory-bean="createConnectionFactory" factory-method="getInstance"/>
scoPE:定义bean的作用范围(默认为singleton)
Singleton:单例,IOC容器中只有一个对象
单例模式对象的生命周期与容器相同
prototype:原型,每次请求都是新对象
多例模式Spring只负责创建,不负责销毁
request
session
application
websocket
bean的属性
id
class
name
factory-bean
factory-method
scope
inIT-method:初始化方法,必须是无参方法
destroy-method:对象销毁前执行,只有在scope为sington的时候有效
使用property标签,注入bean使用ref,注入普通值用value
使用constructor-arg标签,属性主要使用index/name,ref,value
array:array子标签,value/ref
map:map子标签,entry->key/value
set:set子标签
Properties:props子标签,prop->key
纯xml很少使用
引入注解不需要额外的jar
IOC容器的启动仍然从加载xml开始
使用规则:
第三方使用xml,自定义使用注解
@Autowired
@Qualifier(Autowired无法区分类型的时候结合Autowired,用于区分具体是注入那个类型)
@Resource(jdk11已经移除,需要引入javax.annotaton-api包使用)
@configuration:标记为配置类
@CommonentScan:替代context:component-scan
@PropertySource:引入外部资源文件
@Import引入其他配置类
@Value:变量赋值
@Bean:自定对象注入到IOC容器
以上是脚本宝典为你收集整理的【Java高级工程师蜕变之路】010 Spring IOC源码分析全部内容,希望文章能够帮你解决【Java高级工程师蜕变之路】010 Spring IOC源码分析所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。