培训机构价值10w笔记-spring的必知必问

ioc

  1. spring整体架构
    https://mp.weixin.qq.com/s?__biz=MzU2MTk1NzIxMw==&mid=2247483705&idx=1&sn=f427941a0574794b5c835047efa78451&chksm=fc71910bcb06181da93a4994c45b1f078a76247f210528335d61971a35340e51f192e75b54a5&token=692555136&lang=zh_CN#rd

在Spring框架中的核心组件只有三个:Core、Context和Bean。它们构建起了整个Spring的骨骼架构,没有它们就不可能有AOP、Web等特性功能。

  1. spring知识细节
    https://mp.weixin.qq.com/s?__biz=MzU2MTk1NzIxMw==&mid=2247483705&idx=1&sn=f427941a0574794b5c835047efa78451&chksm=fc71910bcb06181da93a4994c45b1f078a76247f210528335d61971a35340e51f192e75b54a5&token=692555136&lang=zh_CN#rd
  1. Spring控制反转

https://mp.weixin.qq.com/s?__biz=MzU2MTk1NzIxMw==&mid=2247483705&idx=1&sn=f427941a0574794b5c835047efa78451&chksm=fc71910bcb06181da93a4994c45b1f078a76247f210528335d61971a35340e51f192e75b54a5&token=692555136&lang=zh_CN#rd

  1. IOC容器
    https://mp.weixin.qq.com/s?__biz=MzU2MTk1NzIxMw==&mid=2247483705&idx=1&sn=f427941a0574794b5c835047efa78451&chksm=fc71910bcb06181da93a4994c45b1f078a76247f210528335d61971a35340e51f192e75b54a5&token=692555136&lang=zh_CN#rd
  1. IOC容器初始化过程

https://mp.weixin.qq.com/s?__biz=MzU2MTk1NzIxMw==&mid=2247483705&idx=1&sn=f427941a0574794b5c835047efa78451&chksm=fc71910bcb06181da93a4994c45b1f078a76247f210528335d61971a35340e51f192e75b54a5&token=692555136&lang=zh_CN#rd

  1. 注入方式/作用域/生命周期

见讲课笔记

aop

  1. 什么是AOP
    https://mp.weixin.qq.com/s?__biz=MzU2MTk1NzIxMw==&mid=2247483705&idx=1&sn=f427941a0574794b5c835047efa78451&chksm=fc71910bcb06181da93a4994c45b1f078a76247f210528335d61971a35340e51f192e75b54a5&token=692555136&lang=zh_CN#rd

一种思想,Spring实现了这种思想。从和宏观来看,是在线性的程序中“插入/切入”了某个功能。“插入/切入”的“地方(点)”称为切点。“某个功能”称为通知。

  1. AOP重要概念
    https://mp.weixin.qq.com/s?__biz=MzU2MTk1NzIxMw==&mid=2247483705&idx=1&sn=f427941a0574794b5c835047efa78451&chksm=fc71910bcb06181da93a4994c45b1f078a76247f210528335d61971a35340e51f192e75b54a5&token=692555136&lang=zh_CN#rd

例如:类A中有一个方法getA,现在要在getA方法执行前做一个增强,并将“增强”的功能写在B类的getB方法中,则我们引出一下概念:

  1. AOP

一种横切技术

  1. 切点

被增强的方法。上述例子中getA是切点。

  1. 切面

通知所在的类,就是切面,切面中可能会有多个通知。上述例子中,B类是切面。

  1. 通知

增强的带部分,这个部分通常写到一个方法中,上述例子getB就是通知。

  1. 动态织入

动态代理类增强目标类的这个动作,就是动态织入。

  1. 委托类

目标类,上述例子中A类是委托类。

  1. 代理类

生成的那个代理类,可以是静态代理,也可以是动态代理。

  1. 代理方式

JDK代理(要求被代理类必须实现接口,动态代理类跟委托类是兄弟关系),CGLIB代理(不必实现接口,动态代理类是委托类的子类)。

  1. AOP的使用场景

1)声明式事务

之所以叫“声明式事务”,是相对于编程式事务而言的,编程式事务,例如JDBC手动代码制定是否开启事务、是否提交事务、是否回滚事务等都是手工写代码写出来的,而“声明式事务”不需要手工编写带,只需要在springxml中配置一个切面和切点即可,切点就是“需要加事务控制的”方法,这是一种实现方式。另外,还有一个种实现方式,就是在“需要加事务控制的”方法上使用@Trasactional注解。@Trasactional还可以配置事务的传播属性/行为——本质就是Connection对象的使用方式,例如在ABC方法中是否使用同一个connection对象。

2)拦截器

它不依赖web容器。配置在springmvc.xml中而不是配置在web.xml中。PS:web.xml中只配置J2EE官方组件,拦截器是“民间组件”。

3)性能监控,在方法调用前后记录调用时间,方法执行太长或超时报警。

4)记录日志,在方法执行前后记录系统日志。

5)权限验证,方法执行前验证是否有权限执行当前方法,没有则抛出没有权限执行异常,由业务代码捕捉。

6)工作流系统,工作流系统需要将业务代码和流程引擎代码混合在一起执行,那么我们可以使用AOP将其分离,并动态挂接业务。

获取更多资源请关注微信公众号:AKA程序王

你可能感兴趣的:(培训机构价值10w笔记-spring的必知必问)