1.Spring框架结构:
(1)Spring Core:核心控制器提供Spring的基本功能,主要主键BeanFactory是工程模式的实现,它通过IOC机制,实现程序代码分离
(2)Spring Context:
(3)Spring AOP:
(4)Spring DAO:
(5)Spring ORM:
(6)Spring Web:
(7)Spring Web MVC:
2.Spring的核心机制:控制反转
概念:控制权由对象本身转向容器,由容器根据配置文件创建对象实例并实现各个对象的依赖关系
核心:bean工厂;在Spring中,bean工厂创建的各个实例称作bean
<bean id ="student" class="xxx.xxx.Student" scope="singleton"> (prototype)
<property name="person" ref="person"/>
</bean>
<bead id="person" class="xxx.xxx.Person" >
</bean>
3.AOP(Aspect-Oriented Programming): 面向方面编程 ,是一种编程思想,OOP的延续。将系统中非核心的业务提取出来,进行单独处理(比如事务、日志、安全等)在一段程序之前或一个程序之后做的事
代理的两种方式:
(1)静态代理:
针对每个具体类分别编写代理类;
针对一个接口编写一个代理类;
(2)动态代理:
针对一个方面编写一个InvocationHandler,然后借用JDK反射包中的Proxy类为各种接口动态生成相应的代理类
JDK动态代理:实现接口的目标对象的代理
CGLib代理:不实现接口的目标对象的代理
4.Bean的生命周期:定义、初始化、使用、销毁
5.Bean的管理
1)使用BeanFactory
2)使用ApplicationContext管理
区别:单实例bean的加载方式:BeanFacotry延迟加载所有的Bean,直到getBean()调用是,Bean实例才被创建。而ApplicationContext会在上下文载入所有单实例Bean,通过预载入,确保需要用时实例已经准备好,程序不需要等待实例创建
6.Spring对集合的注入
(1)List注入
(2)Set注入
(3)Map注入