logo资料库

尚硅谷_Spring.docx

第1页 / 共57页
第2页 / 共57页
第3页 / 共57页
第4页 / 共57页
第5页 / 共57页
第6页 / 共57页
第7页 / 共57页
第8页 / 共57页
资料共57页,剩余部分请下载后查看
第1章 Spring概述
1.1 Spring概述
1.2 安装Spring插件【了解】
1.3 搭建Spring运行时环境
1.4 HelloWorld
第2章 IOC容器和Bean的配置
2.1 IOC和DI
2.1.1 IOC(Inversion of Control):反转控制
2.1.2 DI(Dependency Injection):依赖注入
2.1.3 IOC容器在Spring中的实现
2.1.4 ApplicationContext的主要实现类
2.1.5 ConfigurableApplicationContext
2.1.6 WebApplicationContext
2.2 通过类型获取bean
2.3 给bean的属性赋值
2.3.1 依赖注入的方式
1. 通过bean的setXxx()方法赋值
2. 通过bean的构造器赋值
2.3.2 p名称空间
2.3.3 可以使用的值
1. 字面量
2. null值
3. 给bean的级联属性赋值
4. 外部已声明的bean
5. 内部bean
2.4 集合属性
2.4.1 数组和List
2.4.2 Map
2.4.3 集合类型的bean
2.5 FactoryBean
2.5.1 FactoryBean
2.6 bean的高级配置
2.6.1 配置信息的继承
1. 背景
2. 配置信息的继承
3. 补充说明
2.6.2 bean之间的依赖
2.7 bean的作用域★
2.8 bean的生命周期
2.9 引用外部属性文件
2.9.1 直接配置
2.9.2 使用外部的属性文件
1. 创建properties属性文件
2. 引入context名称空间
3.指定properties属性文件的位置
4.从properties属性文件中引入属性值
2.10 自动装配
2.10.1 自动装配的概念
2.10.2 装配模式
2.10.3 选用建议
2.11 通过注解配置bean
2.11.1 概述
2.11.2 使用注解标识组件
2.11.3 扫描组件
2.11.4 组件装配
第3章 AOP前奏
3.1 提出问题
3.1.1 情景:数学计算器
3.2 动态代理
3.2.1 动态代理的原理
3.2.2 动态代理的方式
3.3 数学计算器的改进
3.3.1 日志处理器
3.3.2 验证处理器
3.3.3 测试代码
3.3.4 保存生成的动态代理类
第4章 AOP概述
4.1 AOP概述
4.2 AOP术语
4.2.1 横切关注点
4.2.2 切面(Aspect)
4.2.3 通知(Advice)
4.2.4 目标(Target)
4.2.5 代理(Proxy)
4.2.6 连接点(Joinpoint)
4.2.7 切入点(pointcut):
4.2.8 图解
4.3 AspectJ
4.3.1简介
4.3.2在Spring中启用AspectJ注解支持
4.3.3用AspectJ注解声明切面
第5章 AOP细节
5.1 切入点表达式
5.1.1 作用
5.1.2 语法细节
5.1.3切入点表达式应用到实际的切面类中
5.2 当前连接点细节
5.2.1 概述
5.2.2 JoinPoint
5.3通知
5.3.1 概述
5.3.2前置通知
5.3.3后置通知
5.3.4返回通知
5.3.5异常通知
5.3.6环绕通知
5.4 重用切入点定义
5.4指定切面的优先级
第6章 以XML方式配置切面
6.1 概述
6.2 配置细节
6.3 声明切入点
6.4 声明通知
第7章 JdbcTemplate
7.1 概述
7.2 环境准备
7.2.1导入JAR包
7.2.2创建连接数据库基本信息属性文件
7.2.3在Spring配置文件中配置相关的bean
7.3 持久化操作
7.4 使用具名参数的JdbcTemplate
7.5 使用JdbcTemplate实现Dao
第8章 声明式事务
8.1事务概述
8.2 Spring事务管理
8.2.1编程式事务管理
8.2.2 声明式事务管理
8.2.3 Spring提供的事务管理器
8.2.4事务管理器的主要实现
8.3 测试数据准备
8.3.1 需求
8.3.2 数据库表
8.4 初步实现
8.5 事务的传播行为
8.5.1 简介
8.5.2 测试
8.5.3 补充
8.6 事务的隔离级别
8.6.1 数据库事务并发问题
8.6.2 隔离级别
8.6.3 在Spring中指定事务隔离级别
8.7 触发事务回滚的异常
8.7.1默认情况
8.7.2设置途经
8.8 事务的超时和只读属性
8.8.1简介
8.8.2设置
8.9 基于XML文档的声明式事务配置
——————————————————————————— —— javaEE 课程系列 Spring 框架 尚硅谷java 研究院 版本:V1.0 第 1 章 Spring 概述 1.1 Spring 概述 1) 2) 3) 4) Spring 是一个开源框架 Spring 为简化企业级开发而生,使用Spring,JavaBean 就可以实现很多以前要靠EJB 才能实现的功能。同样的功能,在EJB 中要通过繁琐的配置和复杂的代码才能够实现, 而在Spring 中却非常的优雅和简洁。 Spring 是一个 IOC(DI)和 AOP 容器框架。 Spring 的优良特性 ① 非侵入式:基于Spring 开发的应用中的对象可以不依赖于Spring 的API ② 依赖注入:DI——DependencyInjection,反转控制(IOC)最经典的实现。 ③ 面向切面编程:AspectOrientedProgramming——AOP ④ 容器:Spring 是一个容器,因为它包含并且管理应用对象的生命周期 ⑤ 组件化:Spring 实现了使用简单的组件配置组合成一个复杂的应用。在Spring 中 可以使用XML 和Java 注解组合这些对象。 5) 一站式:在IOC 和AOP 的基础上可以整合各种企业应用的开源框架和优秀的第三方类 库(实际上Spring 自身也提供了表述层的SpringMVC 和持久层的SpringJDBC)。 Spring 模块 6) 1 更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
——————————————————————————— —— javaEE 课程系列 1.2 安装 Spring 插件【了解】 1.3 搭建 Spring 运行时环境 1) 插件包:springsource-tool-suite-3.4.0.RELEASE-e4.3.1-updatesite.zip 2) 操作步骤:参照《[尚硅谷]_参考资料:安装 Springtools 插件.doc》 1) 加入 JAR 包 ①Spring 自身JAR 包:spring-framework-4.0.0.RELEASE\libs 目录下 spring-beans-4.0.0.RELEASE.jar spring-context-4.0.0.RELEASE.jar spring-core-4.0.0.RELEASE.jar spring-expression-4.0.0.RELEASE.jar ②commons-logging-1.1.1.jar 2) 在 Spring Tool Suite 工具中通过如下步骤创建 Spring 的配置文件 ① File->New->Spring Bean Configuration File ② 为文件取名字 例如:applicationContext.xml 2 更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
——————————————————————————— —— 1.4 HelloWorld javaEE 课程系列 1) 目标:使用 Spring 创建对象,为属性赋值 2) 创建 Student 类 3) 创建 Spring 配置文件 4) 测试:通过Spring 的IOC 容器创建Student 类实例 //1.创建IOC容器对象 ApplicationContextiocContainer= newClassPathXmlApplicationContext("helloworld.xml"); //2.根据id值获取bean实例对象 Studentstudent=(Student)iocContainer.getBean("student"); 3 更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
——————————————————————————— —— javaEE 课程系列 //3.打印bean System.out.println(student); 第 2 章 IOC 容器和 Bean 的配置 2.1 IOC 和 DI 2.1.1 IOC(Inversion of Control):反转控制 在应用程序中的组件需要获取资源时,传统的方式是组件主动的从容器中获取所需 要的资源,在这样的模式下开发人员往往需要知道在具体容器中特定资源的获取方式, 增加了学习成本,同时降低了开发效率。 反转控制的思想完全颠覆了应用程序组件获取资源的传统方式:反转了资源的获取 方向——改由容器主动的将资源推送给需要的组件,开发人员不需要知道容器是如何创 建资源对象的,只需要提供接收资源的方式即可,极大的降低了学习成本,提高了开发 的效率。这种行为也称为查找的被动形式。 2.1.2 DI(Dependency Injection):依赖注入 2.1.3 IOC 容器在 Spring 中的实现 IOC 的另一种表述方式:即组件以一些预先定义好的方式(例如:setter 方法)接受 来自于容器的资源注入。相对于IOC 而言,这种表述更直接。 1)在通过IOC 容器读取Bean 的实例之前,需要先将IOC 容器本身实例化。 2)Spring 提供了IOC 容器的两种实现方式 ①BeanFactory:IOC 容器的基本实现,是Spring 内部的基础设施,是面向 4 更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
——————————————————————————— —— Spring 本身的,不是提供给开发人员使用的。 ②ApplicationContext:BeanFactory 的子接口,提供了更多高级特性。面向 Spring 的 使 用 者 , 几 乎 所 有 场 合 都 使 用ApplicationContext 而 不 是 底 层 的 BeanFactory javaEE 课程系列 。 2.1.4 ApplicationContext 的主要实现类 ClassPathXmlApplicationContext:对应类路径下的 XML 格式的配置文件 1) 2) 3) 在初始化时就创建单例的 bean,也可以通过配置的方式指定创建的 Bean 是多实例的。 FileSystemXmlApplicationContext:对应文件系统中的 XML 格式的配置文件 2.1.5 ConfigurableApplicationContext 1) 是 ApplicationContext 的子接口,包含一些扩展方法 2) refresh()和 close()让 ApplicationContext 具有启动、关闭和刷新上下文的能力。 5 更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
——————————————————————————— —— javaEE 课程系列 2.1.6 WebApplicationContext 1) 专门为 WEB 应用而准备的,它允许从相对于 WEB 根目录的路径中完成初始化工作 2.2 通过类型获取 bean 型的 bean 在容器中必须是唯一的。 果同一个类型的 bean 在 XML 文件中配置了多个,则获取时会抛出异常,所以同一个类 1) 从 IOC 容器中获取 bean 时,除了通过 id 值获取,还可以通过 bean 的类型获取。但如 HelloWorldhelloWorld=cxt.getBean(HelloWorld. class); 2) 或者可以使用另外一个重载的方法,同时指定 bean 的 id 值和类型 HelloWorldhelloWorld=cxt.getBean(“helloWorld”,HelloWorld. class); 2.3 给 bean 的属性赋值 2.3.1 依赖注入的方式 1. 通过 bean 的 setXxx()方法赋值 HelloWorld 中使用的就是这种方式 6 更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
——————————————————————————— —— javaEE 课程系列 2. 通过 bean 的构造器赋值 1) Spring 自动匹配合适的构造器 2) 通过索引值指定参数位置 7 更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
——————————————————————————— —— javaEE 课程系列 3) 通过类型区分重载的构造器 2.3.2 p 名称空间 的属性。 使用 p 命名空间后,基于 XML 的配置方式将进一步简化。 为了简化 XML 文件的配置,越来越多的 XML 文件采用属性而非子元素配置信息。Spring 从2.5 版本开始引入了一个新的p 命名空间,可以通过元素属性的方式配置Bean 2.3.3 可以使用的值 1. 字面量 1) 可以使用字符串表示的值,可以通过 value 属性或 value 子节点的方式指定 2) 基本数据类型及其封装类、String 等类型都可以采取字面值注入的方式 3) 若字面值中包含特殊字符,可以使用把字面值包裹起来 8 更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
分享到:
收藏