一、Spring 框架概述
spring 是分层的JavaSE/EE应用轻量级开源框架,以IOC(inverse of control : 控制反转)和AOP(Aspect Oriented programing: 面向切面 编程)为内核。
1.2、Spring的优势
1.方便解耦,简化开发
通过spring提供的IOC容器,可以将对象间的依赖关系交由Spring进行控制
2.AOP编程的支持
通过Spring的AOP功能,方便进行面向切面编程。
3.支持声明式事务
4.方便程序的测试
5.方便集成各种优秀的框架
6.降低JavaEE API 的使用难度
Spring 对JavaEE api (jdbc ,javamail,远程调用等),进行了封装,使这些API的使用难度大大降低。
1.3、Spring的体系结构
1.4 、Spring 的开发步骤
1)、导入坐标
2)、创建bean
3)、创建applicationContext
4)、在配置文件中进行配置
5)、创建ApplicationContext对象getBean
二、IOC容器
实现控制反转的是Spring IOC容器,Spring IOC容器的设计主要基于BeanFactory 和 ApplicationContext两个接口。
2.1、BeanFactory
2.1.1、该接口提供了完整的IOC 服务支持,是一个管理Bean的工厂,主要负责初始化各种Bean。
注意:使用BeanFactory实例加载Spring配置文件在实际开发中并不多见,了解即可!
2.1.2、ApplicationContext
ApplicationContext是BeanFactory的子接口,也称为应用上下文,除了包含BeanFactory的所有功能外,还添加了对国际化、资源访问、事件传播等内容的支持。
创建ApplicationContext接口实例通常有以下三种方法:
1.通过ClassPathXmlApplicationContext创建(常用):将从类路径目录(src根目录)寻找配置文件
2.通过FileSystemXmlApplicationContext创建:从指定文件的绝对路径寻找配置文件
3.通过Web服务器实例化ApplicationContext容器
4.通过AnnotationConfigApplicationContext
使用注解配置容器对象时,需要使用此类来创建Spring容器,它用来读取注解
2.1.3、getBean()
1.id:存在多个
2.class:存在一个
2.2、依赖注入类型
三种注入类型:
普通数据类型
引用数据类型(对象注入)
集合数据类型
1、使用构造方法注入
2、使用属性的setter方法注入(常用)
三、Spring 的配置(创建对象、属性注入)
3.1、Bean基本配置
对象交由Spring来创建,默认情况下调用的是类中的无参构造函数,如果没有则不能创建成功。
基本属性:
id:Bean实例在Spring容器中的唯一标识
class:Bean的全限定名称(spring容器利用反射来创建对象)
3.2、Bean的作用域
singleton(默认): 加载Spring容器(加载配置文件)时,即创建对象,采用的是饿汉式,相同的bean只存在一个。
prototype: 容器中存在多个实例,加载时机为调用即创建,不用不创建。
3.3、Bean的实例化
1.无参构造方法实例化
2.工厂静态方法实例化
3.工厂实例方法实例化
3.4、Bean的生命周期
3.5、Bean的装配方式
四、Spring配置数据源
4.1、数据源(连接池) 的使用
数据源是为了提高性能出现的
事先实例化数据源,初始化部分连接资源
使用连接资源时从数据源中获取
使用完毕后将连接资源归还给数据源
常见的数据源:DBCP、C3P0、Druid等
未完…