Spring 的介绍
Spring优势(作用)
(1)spring是一站式框架,因为Spring框架的性质是属于容器性质,容器装有什么对象,就有什么功能
(2)不仅不排斥其他框架、还能帮助其他框架管理对象
(3)AOP支持
(4)基于IOC思想
(5)Spring JDBC
(6)AOP 事务
(7)Junit测试支持
Spring 概念
1:Spring 思想
IOC: Inverse of control 反转控制
将我们创建对象的方式反转了。
以前对象的创建有我们开发人员自己维护,包括依赖关系也是我们自己注入的,使用spring之后,对象的创建以及依赖关系可以有spring 完成创建以及注入
反转控制:就是反转了对象创建的方式,从我们自己创建反转给了程序(spring)
DI:Dependency injection 依赖注入
IOC实现需要DI做支持
注入方式:
- set方法注入
- 构造方法注入
- 字段注入
注入的类型
- 值类型注入:8大基本数据类型
- 应用类型注入:将依赖对象注入
2:Spring中厂(容器)
工厂factory
设计模式,提供的方法一般是静态的,
帮我们生产出对象的。
User user=XXXFactory.createUser();
了解ApplicationContext 和BeanFactory
BeanFactory 接口:
Spring原始接口,针对原始接口的实现类功能较为单一。 beanFactory接口实现类的容器特点:每次在获取对象的时候才会创建对象。
ApplicationContext 接口:
在容器创建的时候,容器里面配置的所有对象 会被创建,并且提供更多的功能。
有2个实现类:
ClassPathXmlApplicationContext 从类路径加载配置文件
FileSystemXmlApplicationContext从硬盘绝对路径中加载配置文件
总结:在web开发中,使用ApplicationContext,在资源匮乏的环境下可以使用BeanFactory
算法的好不好:时间复杂度、空间复杂度