Spring源码 概述1
1 Spring是什么
- 框架
- 生态
- 扩展性
2 Spring
涉及的基础知识
反射
对象的实例化和初始化
SpringBean对象的分类
2.1. IOC
- IOC控制反转-思想
- IOC容器
- DI依赖注入-手段
2.2. AOP
2.3. Spring运行过程初步分析
大致运行过程
2.4. Spring中的接口
3 问题
在容器创建的过程中需要动态的改变bean的信息怎么办?
1
<property name=url value=${jdbc.url} />
如果想随时修改BeanDefinition怎么办?
Aware 接口到底是什么作用?
当Spring容器创建的bean对象正在具体操作的时候,如果需要容器的其他对象,此时可以将对象实现Aware接口,来满足当前的需要
在不同的阶段要处理不同的工作,应该怎么办?
观察者模式:监听器、监听事件、多播器(广播器)
BeanFactory 和 FactoryBean 的区别?
- 都是来创建对象的
- 当使用 BeanFactory 的时候必须要遵循完整的创建过程,这个过程由Spring来管理控制的
- 当使用FactoryBean只需要调用getObject就可以返回具体的对象,整个对象的创建过程室友用户自己来控制的
1
2
3
4
5
6
7
8
9
10
<beans>
<bean id=? class=? abstract init-method scope dependon ...>
<property name=? vale=?/>
<property name=? ref=?/>
</bean>
<bean id=? class=? abstract init-method scope dependon ...>
<construcor-arg name=? vale=?/>
<construcor-arg name=? ref=?/>
</bean>
</beans>
1
2
3
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
XXX xxx = ac.getBean(XXX.class);
xxx.xxmethond();