1.Spring的两个核心:
- IOC:控制反转,把创建对象交给Spring进行管理;
- Aop:面向切面,不修改源代码进行功能增强;
2.IOC:
- IOC思想基于IOC容器完成,IOC容器底层就是对象工厂;
- IOC的两种实现方式(接口):
- BeanFactory(接口):IOC容器的基本实现;其在加载过程中不会创建对象,在获取对象的时候才会把配置文件对象进行创建,相当于单例模式中的懒汉模式;
- ApplicationContext(接口):IOC的实现;其在加载过程中就会创建对象,相当于单例模式中的饿汉模式---减少了使用时的加载时间;
- ApplicationContext有它的实现类:ClassPathXmlApplicationContext(给一个类路径)、FileSystemXmlApplicationContext(要给一个绝对路径);
- IOC的bean管理:
- 创建对象;
- 注入属性--依赖于创建对象;
- IOC创建对象:
- 在xml文件中配置--<bean>,id、class
- bean标签的属性:id(唯一)、class、name(和id作用相同,但是name中不可以加特殊符号)
- IOC注入属性:
- 基于xml文件
- 基于注解
- 基于xml注入属性:
- DI:依赖注入---set方法<property>、有参构造方法<constructor-arg>;
- set方法的简化:p名称空间注入,添加xmlns:p=;
- 字面量---变量的固定内容(包括null和特殊符号·);
- 注入空值<null>或者特殊符号(转义符号:> 、<或者<![CDATA[内容]]>);
- 注入外部bean;
- 注入内部bean和级联赋值(类似外部bean,加上注入属性的过程,两种写法);
- 注入集合类型属性(对象的集合、将集合变成公共可用的,注入到多个类的属性中---配置文件中引入util名称空间);
(p空间注入)
、
(注入空值)
(注入外部bean)
(注入内部bean)
(注入集合属性)
(注入的属性是外部bean的集合)
(将注入的属性变成公共的)
- 基于注解注入属性: