logo资料库

spring讲义.pdf

第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
资料共42页,剩余部分请下载后查看
课堂主题
课堂目标
知识要点
介绍篇
什么是Spring
为什么学习Spring
什么是耦合和内聚
Spring版本介绍
Spring体系结构
Spring核心概念介绍
核心基础篇
基于XML的使用
IoC配置
bean标签介绍
bean实例化的三种方式
DI配置
概述
依赖注入的方式
构造函数注入
set方法注入(重点)
使用p名称空间注入数据
依赖注入不同类型的属性
简单类型(value)
引用类型(ref)
集合类型(数组)
基于注解和XML混合方式的使用
IoC注解使用方法
常用注解
IoC注解(创建对象)
Component注解
Controller&Service&Repository注解
DI注解(依赖注入)
@Autowired
@Qualifier
@Resource
@Inject
@Value
@Autowired、@Resource、@Inject区别
改变Bean作用范围的注解
生命周期相关注解
关于注解和XML的选择问题
基于纯注解方式的使用
注解和XML混合开发遗留的问题
@Configuration
@Bean
@ComponentScan
@PropertySource
@Import
创建纯注解方式上下文容器
核心高级篇
AOP介绍
什么是AOP
为什么使用AOP
AOP相关术语介绍
术语解释
图示说明
AOP实现之AspectJ(了解)
AOP实现之Spring AOP(了解)
实现原理分析
JDK动态代理
Cglib动态代理
使用
基于AspectJ的AOP使用
添加依赖
编写目标类和目标方法
使用XML实现
实现步骤
切入点表达式
通知类型
使用注解实现
实现步骤
环绕通知注解配置
定义通用切入点
纯注解方式
组件支撑篇
整合Junit
单元测试问题
解决思路分析
具体实现
事务支持
事务回顾
事务介绍
事务并发问题(隔离性导致)
事务隔离级别
Spring框架事务管理相关接口
Spring框架事务管理的分类
编程式事务管理(了解)
声明式事务管理(重点)
事务管理之XML方式
业务层
持久层
spring配置
单元测试代码
配置事务管理的AOP
事务管理之混合方式
事务管理之基于AspectJ的纯注解方式
Spring IoC和AOP的应用、事务支持 搞明白什么是IoC、什么是DI、什么是AOP、什么是Spring容器 掌握Spring IoC/DI基于XML方式的应用 掌握Spring IoC/DI基于XML和注解混合的使用 掌握Spring IoC/DI基于纯注解的使用 掌握Spring基于AspectJ的AOP使用之XML方式 掌握Spring基于AspectJ的AOP使用之ML和注解混合方式 掌握Spring基于AspectJ的AOP使用之纯注解方式的应用 掌握Spring声明式事务的使用之XML方式 掌握Spring声明式事务的使用之XML和注解混合方式 掌握Spring声明式事务的使用之纯注解方式的应用 篇什么是Spring 为什么学习Spring 什么是耦合和内聚 Spring版本介绍 Spring体系结构 Spring核心概念介绍 篇基于XML的使用 IoC配置 bean标签介绍 bean实例化的三种方式 DI配置 概述 依赖注入的方式 构造函数注入 set方法注入(重点) 使用p名称空间注入数据 依赖注入不同类型的属性 简单类型(value) 引用类型(ref) 集合类型(数组) 基于注解和XML混合方式的使用 开课吧Java高级架构师课 堂 主 题 课 堂 目 标 知 识 要 点 课 堂 主 题 课 堂 目 标 知 识 要 点 介 绍 核 心 基 础
IoC注解使用方法 常用注解 IoC注解(创建对象) Component注解 Controller&Service&Repository注解 DI注解(依赖注入) @Autowired @Qualifier @Resource @Inject @Value @Autowired、@Resource、@Inject区别 改变Bean作用范围的注解 生命周期相关注解 关于注解和XML的选择问题 基于纯注解方式的使用 注解和XML混合开发遗留的问题 @Configuration @Bean @ComponentScan @PropertySource @Import 创建纯注解方式上下文容器 篇AOP介绍 什么是AOP 为什么使用AOP AOP相关术语介绍 术语解释 图示说明 AOP实现之AspectJ(了解) AOP实现之Spring AOP(了解) 实现原理分析 JDK动态代理 Cglib动态代理 使用 基于AspectJ的AOP使用 添加依赖 编写目标类和目标方法 使用XML实现 实现步骤 切入点表达式 通知类型 使用注解实现 实现步骤 环绕通知注解配置 定义通用切入点 纯注解方式 篇整合Junit 单元测试问题 解决思路分析 具体实现 开课吧Java高级架构师核 心 高 级 组 件 支 撑
事务支持 事务回顾 事务介绍 事务并发问题(隔离性导致) 事务隔离级别 Spring框架事务管理相关接口 Spring框架事务管理的分类 编程式事务管理(了解) 声明式事务管理(重点) 事务管理之XML方式 业务层 持久层 spring配置 单元测试代码 配置事务管理的AOP 事务管理之混合方式 事务管理之基于AspectJ的纯注解方式 百度百科中的介绍 Spring官方网址:http://spring.io/ 我们经常说的Spring其实指的是 Spring Framework (spring 框架)。 开课吧Java高级架构师介 绍 篇 什 么 是 S p r i n g 为 什 么 学 习 S p r i n g
(Coupling),也叫耦合度,是对模块间关联程度的度量。 开课吧Java高级架构师好 处 : 什 么 是 耦 合 和 内 聚 耦 合 性
在软件工程中,耦合指的就是就是对象之间的依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和 构件之间的耦合最小。 软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。 划分模块的一个准则就是高内聚低耦合。 一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。 内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。 内聚和耦合是密切相关的,同其他模块存在高耦合的模块意味着低内聚,而高内聚的模块意味着该模块同其他模块之间 是低耦合。 在进行软件设计时,应力争做到高内聚,低耦合。 1 2 3 4 5 1 2 3 4 5 spring的官网:http://spring.io/ spring framework的网址:https://projects.spring.io/spring-framework/ jar包下载地址:http://repo.spring.io/release/org/springframework/spring/ 开课吧Java高级架构师内 聚 标 志 S p r i n g 版 本 介 绍
开课吧Java高级架构师S p r i n g 体 系 结 构
对象的创建权力由程序反转给Spring框架。 在Spring框架负责创建Bean对象时,动态的将依赖对象注入到 在不修改目标对象的源代码情况下,增强IoC容器 Bean组件中!! 中Bean的功能。 在Spring 的XML文件中通过一个 ,完成IoC的配置。 用于配置被spring容器管理的bean的信息。 开课吧Java高级架构师S p r i n g 核 心 概 念 介 绍 I o C ( 核 心 中 的 核 心 ) : I n v e r s e o f C o n t r o l , 控 制 反 转 。 D I : D e p e n d e n c y I n j e c t i o n , 依 赖 注 入 。 A O P : A s p e c t O r i e n t e d P r o g r a m m i n g , 面 向 切 面 编 程 。 S p r i n g 容 器 : 指 的 就 是 I o C 容 器 , 底 层 也 就 是 一 个 B e a n F a c t o r y 。 核 心 基 础 篇 基 于 X M L 的 使 用 I o C 配 置 b e a n 标 签 b e a n 标 签 介 绍 b e a n 标 签 作 用 :
默认情况下它调用的是类中的【无参构造函数】。如果没有无参构造则不能创建成功。 id:给对象在 提供一个唯一标识。用于获取对象。 class:指定类的全限定名。用于反射创建对象。默认情况下 。 :指定类中的初始化方法名称。 :指定类中销毁方法名称。比如DataSource的配置中一般需要指定destroy- method=“close”。 scope:指定对象的作用范围。 singleton : ,单例的(在整个容器中只有一个对象),生命周期如下: 对象出生:当应用加载,创建容器时,对象就被创建了。 对象活着:只要容器在,对象一直活着。 对象死亡:当应用卸载,销毁容器时,对象就被销毁了。 prototype :多例的.每次访问对象时,都会重新创建对象实例。生命周期如下: 对象出生:当使用对象时,创建新的对象实例。 对象活着:只要对象在使用中,就一直活着。 对象死亡:当对象长时间不用时,被 java 的垃圾回收器回收了。 request :将Spring 创建的 Bean 对象存入到 request 域中. session :将Spring 创建的 Bean 对象存入到 session 域中. global session :WEB 项目中,应用在 Portlet 环境.如果没有 Portlet 环境那么 globalSession 相当于 session. 在默认情况下:它会根据默认无参构造函数来创建类对象。 如果 bean 中没有默认无参构造函数,将会创建失败。 1 第二种:静态工厂(了解) 使用 StaticFactory 类中的静态方法 createUserService 创建对象,并存入spring 容器: /** * 模拟一个静态工厂,创建业务层实现类 */ public class StaticFactory { public static UserService createUserService(){ return new UserServiceImpl(); } } 1 2 3 4 5 6 7 8 9 开课吧Java高级架构师b e a n 标 签 属 性 : 容 器 中 调 用 无 参 构 造 函 数 i n i t - m e t h o d d e s t r o y - m e t h o d 默 认 值 b e a n 实 例 化 的 三 种 方 式 第 一 种 : 使 用 默 认 无 参 构 造 函 数 ( 重 点 )
分享到:
收藏