1.springIoc祥设
1.根据benName获取bean实例需要建立一种映射关系;
2.把解析出来的bean定义信息放入到map集合中,都存放到beanfatory中
2.1 解析出来的属性信息放入到属性集合中,value是有类型的,封装到不同类型的对象中,如果是对象类型直接beanName即可,如果是普通类型需要做转换clasType;
3.获取时根据bean名称反射创建实例;
1.使用简单工程创建bean实例并最中放置在map中;
达成的效果
//看下配置文件包含了引用和字符串类型
//1ioc 初始化第一步解析bean标签到beanDefination集合和maBtis解析步骤是差不多的;
//看下解析成beanDefination的过程
可以看到根据bean语意若果属性只是value的话封装成typeStringValue;
如果是Ref的话封装成runtimeBeanref类型以便于属性赋值操作
最后将解析的beandefination放到beafactorymap集合总;
//在看下bean实例创建过程
先从单例bean中获取,不存在就创建bean
//根据beandefNation创建bean实例并设置属性,也添加了几个扩展点
beanfactoryAwar 和beanPostProcessor(这个方法可以返回代理对象);
//beanPostProcessor返回的是代理过后的对象,所以这个是一个很好的扩展点aop也是基于这个接口方法;
//基于beanpostProcess实现耗时统计
网友评论