2022年05Spring知识点总结

上传人:c**** 文档编号:213625938 上传时间:2021-11-22 格式:PDF 页数:9 大小:65.07KB
返回 下载 相关 举报
2022年05Spring知识点总结_第1页
第1页 / 共9页
2022年05Spring知识点总结_第2页
第2页 / 共9页
2022年05Spring知识点总结_第3页
第3页 / 共9页
2022年05Spring知识点总结_第4页
第4页 / 共9页
2022年05Spring知识点总结_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《2022年05Spring知识点总结》由会员分享,可在线阅读,更多相关《2022年05Spring知识点总结(9页珍藏版)》请在金锄头文库上搜索。

1、Spring 知识点一、 Spring 本质和功能1、本质spring本质就是一个 map集合,事先创建并存储了项目中所需的全部对象,当项目中哪里需要对象了, 通过键获取即可; 我们把 map 集合称为 spring 容器对象,项目开发中以后不需要用 new 创建对象了。 spring 框架应用在持久层,业务层和控制层。2、功能(1)创建对象并根据依赖关系为属性赋值(2)AOP 思想(3)整合 3 大框架二、控制反转与依赖注入1、控制反转 (IOC) 以前对象的创建是由我们开发人员自己完成,包括依赖关系也是自己注入。使用 spring 之后对象的创建以及依赖关系由spring 完成创建和注入。

2、 控制反转是反转了对象的创建方式,从开发人员自己创建反转给了spring 框架。通过依赖关系为对象属性赋值,解耦合才是spring 真正价值所在。2、依赖注入 (DI) 控制反转另一个种名称,通过依赖关系为对象属性赋值。注入方式:1)set方法注入2)构造方法注入注入类型:1)值类型注入(8 大基本类型, String) 2)引用类型注入 (对象、数组、集合 ) 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 1 页,共 9 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - -

3、第 1 页,共 9 页 - - - - - - - - -三、使用 spring 创建对象并赋值1、spring 开发 4 步骤 : (1)导入 jar 包;(2)编程需要生成对象的类;(3)编写 spring 配置文件;(4)编写代码创建 spring 容器对象,获取对象。2、如何编写applicationContext.xml 配置文件 值 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 2 页,共 9 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 2 页,共 9

4、 页 - - - - - - - - - 值 值 3、spring 注解开发项目5 步骤: (1)导入 jar 包(2)编程需要生成对象的类(3)在核心配置文件开启注解配置的开关 /开启注解配置的开关(4)在类中使用注解完成配置(5)编写代码创建 spring 容器对象,获取具体类对象4、相关注解1)注册对象 -类级别Component(myuser):精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 3 页,共 9 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 3 页

5、,共 9 页 - - - - - - - - -Service (myuser):业务层Controller(myuser):控制层Repository(myuser):持久层2)指定单例对象还是多例对象-类级别Scope (scopeName =singleton):singleton :单例对象 ;prototype:多例对象3)给基本属性赋值 -方法级别、属性级别Value(基本属性值 ) 4)给对象属性赋值 -属性级别Resource (name=注册对象名 ) 5)给对象属性赋值 -属性级别(组合使用)Autowired Qualifier( 注册对象名 ) 6)PostConstr

6、uct :在对象被创建后调用,对象生命周期开始方法,方法级别7)PreDestroy:在销毁之前调用 ,对象生命周期结束的方法,方法级别四、使用 spring 实现 AOP 思想1、AOP 思想辅助功能代码只写一遍, 让一个类的多个方法或者多个类的多个方法,在运行前 (后)都能执行一遍辅助功能代码,专注开发核心功能,实现辅助功能的复用。有 3 种实现方式:一是过滤器Filter、二是动态代理模式、三spring 框架实现总结:横向重复,纵向抽取语句(比喻只挥一刀砍倒多颗大树) 2、spring 的 AOP 的底层实现原理1)动态代理 (优先): 目标对象必须要实现接口,如果没有接口将不能使用动

7、态代理技术2)cglib 代理机制 (没有接口时使用 ): 第三方代理技术,需要导入jar 包,借助第三方类实现代理机制。目标对象不需要实现接口。可以对任何类生成代理, 代理对象作为目标对象的子类。 如果目标对象被 final修饰.那么该类无法被cglib 代理。springAOP 在底层实现了对这2 种代理的封装精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 4 页,共 9 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 4 页,共 9 页 - - - - - - -

8、 - -3、spring AOP 名词解释1)Pointcut(切入点 ):目标对象中确定要进行增强的方法2)Advice(通知):增强的代码,需要在目标方法执行前运行的语句3)Weaving(织入):将通知应用到切入点的过程4)aspect (切面):切入点 +通知5)Target(目标对象 ):目标方法所有的对象6)Proxy(代理对象 ):讲通知织入到目标方法后,形成的代理对象通知的类别: 通知用方法实现1)前置通知:目标方法运行之前调用2)后置通知:目标方法运行之后调用(如果目标方法发生异常则不执行) 3)环绕通知:在目标方法运行之前和之后都需要执行代码注意:在目标方法运行前后都加代码

9、,需要在环绕通知方法内部书写代码调用目标方法,而其他通知方法内不需要书写代码调用目标方法。- /环绕通知public Object around(ProceedingJoinPoint pjp) throws Throwable System.out.println(这是环绕通知之前的部分 !); Object proceed = pjp.proceed ();/调用目标方法System.out.println(这是环绕通知之后的部分 !); return proceed; - 4)异常拦截通知:目标方法运行之后调用,目标方法中抛出异常则被调用5)最终通知:目标方法运行之后调用(无论是否出现异

10、常都会被调用) 4、xml 配置实现 aop 思想 5 步骤(1)导入 jar 包(2)定义目标类准备目标方法(3)定义通知类准备通知方法(4)在核心配置文件中注册目标对象,注册通知对象,用标签把通知精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 5 页,共 9 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 5 页,共 9 页 - - - - - - - - -织入目标方法(5)编写代码创建 spring 容器对象 ,获取代理对象调用方法- - 5、注解方式实现aop

11、 思想 6 步骤(1)导入 jar 包(2)定义目标类准备目标方法(3)定义通知类准备通知方法(4)在核心配置文件中,开启使用注解完成织入开关,开启注解配置的开关 /开启注解配置的开关 /开启使用注解完成织入(5)用注解注册目标对象和通知类对象,用注解将通知织入目标方法(6)编写代码创建 spring 容器对象 ,获取代理对象调用方法6、相关注解:1)Aspect :说明该类是一个通知类,类级别2)Before(execution(* com.t1.*.*(.) :指定该方法是前置通知 ,并指定切入点3)AfterReturning(execution(* com.t1.*ServiceImp

12、l.*(.) :后置通知4)Around(execution(* com.t1.*ServiceImpl.*(.) :环绕通知5)AfterThrowing(execution(* com.t1.*ServiceImpl.*(.) :异常拦截通知精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 6 页,共 9 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 6 页,共 9 页 - - - - - - - - -6)After(execution(* com.t1.*Ser

13、viceImpl.*(.) :最终通知7)Pointcut(execution(* com.t1.*ServiceImpl.*(.) :配置切入点路径,方法级别public void pc() 五、使用 spring 实现事务管理1、事务多个 sql 语句的组合,这些sql 语句要么都执行,要么都不执行。功能:事务保障表中数据的准确性2、spring 框架处理事务的原理1)spring框架在业务层处理事务2)spring 框 架为 了 实 现 对 各种 技 术 进 行 统一 的 事 务 管 理, 提 供 事 务 接口TransactionManager ,TransactionManager是

14、 spring 中的事务管理的核心接口,称为核心事务管理器。3)配置与事务相关的属性:可以通过改变这些属性值来配置事务1事务是否只读 : read-only=false 2事务传播行为 : propagation=REQUIRED 3事务的隔离级别 : isolation=READ_COMMITTED4)spring框架已经提供了写好的事务管理的通知,需要进行事务管理的方法是切入点,只需要我们使用 xml 或注解配置把 spring 已经提供的通知织入切入点即可。环绕通知:负责调用 TransactionManager实现类的开启事务,提交事务等方法实现事务管理。3、xml 配置方式事务管理5

15、 步骤(1)核心配置文件中注册核心事务管理器的实现类对象,注册数据源对象,代理数据源对象(2)定义目标类准备目标方法(3)注册 spring 提供的通知对象(4)配置通知,织入目标方法(5)编写代码创建 spring 容器对象,获取代理对象,调用方法- 配置通知类:精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 7 页,共 9 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 7 页,共 9 页 - - - - - - - - - 织入: - 4、注解配置方式事务管理5

16、步骤(1)核心配置文件中注册核心事务管理器的实现类对象,注册数据源对象,代理数据源对象(2)定义目标类准备目标方法(3)开启注解管理 aop 事务开关 /开启注解配置的开关 /开启使用注解完成织入 / 开 启 注 解管理事务开关(4)使用注解实现事务(5)遍写代码创建 spring 容器对象 ,获取代理对象 ,调用方法相关注解:Transactional(isolation = READ_COMMITTED,propagation= REQUIRED, readOnly=false)-为方法织入事务通知,方法级别六、相关类精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 8 页,共 9 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 8 页,共 9 页 - - - - - - - - -1、ApplicationContext:接口包:org.springframework.context.*功能:该接口是 spring 工厂对象, xml 文件中注册过的所有对象

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号