- Spring是轻量级(依赖少)的j开源的JavaEE框架。
- Spring 可以解决企业应用开发的复杂性。
- Spring 两个核心部分:
IOC、控制反转,把创建对象的过程交给Spring进行管理
Aop、面向切面,不修改源代码的情况下进行功能的增强 - Spring特点
方便解耦,简化开发
Aop变成支持
方便程序的测试
方便集成框架
方便进行事务操作
降低API的开发难度
Inversion of Control 控制反转,降低计算机代码之间的耦合度,最常见的方式是依赖注入和依赖查找。通过控制反转,对象被创建时,由一个调控系统内所有对象的外界实体将其依赖的对象的引用传递给它,依赖被注入到对象中。
1》把创建对象和调用对象交给Spring进行管理。
2》降低耦合度。
xml解析、工厂模式、反射
对xml文件的内容获取值,通过反射得到字节码文件(.class)来操作文件。把耦合度降低到最低限度。
xml文件配置创建的对象
创建工厂类。解析xml文件中的属性值,通过反射创建对象(Class clazz = Class.forName(全路径)。创建实例。( clazz.newInstance())
目的是为了实现解耦合操作。
- IOC思想基于IOC容器完成,IOC容器底层就是对象工厂。
- Spring提供IOC容器实现的两种方式(接口):
1> BeanFactory.IOC容器的基本实现,是Spring内部的使用接口。
加载配置文件时不会创建对象,使用时才创建对象。
2>ApplicationContext.BeanFactory的子接口。√
加载配置文件时创建出配置的文件。
ApplicationContext(BeanFactory) context = new ClassPathXmlApplicationContext(" .xml");
context.getBean(" ",class);
ApplicationContext接口有两个主要的实现类:ClassPathXmlContext中的参数为src的相对路径,而FileSystemXmlApplicationContext中的参数为绝对路径
IOC的具体操作- 什么是Bean管理?
Spring创建对象,Spring注入属性。 - Bean管理的两种实现方式。
基于xml配置文件
1. 基于xml创建对象
使用bean标签。id属性是对象的标识,class属性是类的全路径。创建对象时默认执行无参的构造方法。
2. 基于xml注入属性
DI依赖注入,注入属性,需要在创建对象的基础上完成。初始化时的构造器注入和set方法注入。
set注入:
,property>
构造器注入
p名称空间注入,简化xml配置方式(set方法注入
在beans属性中加入
xmlns:p="http://www.springframework.org/schema/p"
基于注解方式



