1. 了解Spring中的设计模式
- IOC的底层/原理是什么?
- 工厂设计模式
- IOC中的Bean都是单例的吗?
- 默认是单例, 可以设置为多例模式: 单例模式
- JdbcTeamplate用了什么设计模式
- 模板设计模式
- AOP的底层/原理是什么?
- 代理模式
Spring中学习了哪些设计模式?
- 工厂设计模式
- 单例设计模式
- 模板设计模式
- 代理设计模式
1. 什么是代理模式?
- 提供代理类限制外部对目标对象的访问
2. 静态代理和动态代理的区别?
- 静态代理的代理类是手动创建的, 动态代理的代理类是在代码运行时动态创建
3. 两种动态代理的区别?
- jdk: 一个实现接口: 目标对象需要实现接口
- cglib: 一个继承: 目标对象不需要实现接口
4. 动态代理JDK和CGLIB的区别?
- jdk: 目标对象需要实现接口
- cglib: 目标对象不需要实现接口
5. Spring AOP的底层是什么?
- 动态代理技术: 代理模式
6. 切入点、通知、切面是什么?
- 切入点: 目标对象中需要增强的方法
- 通知: 前置 后者 异常 环绕 , 目标方法需要增强的内容和访问
- 切面: 切面是由通知和切入点组成的关系
7. 通知类型有哪些?
- 前置通知
- 后置通知
- 异常通知
- 最终通知
- 环绕通知
8. AOP相关的注解有哪些?
- @Before: 修饰方法, 将方法修饰为前置通知方法
- @AfterReturning: 修饰方法, 将方法修饰为后置通知方法
- @After: 修饰方法, 将方法修饰为最终通知方法
- @Ponintcut: 修饰方法, 定义一个切入点表达式
- @Around: 修饰方法, 将方法修饰为环绕通知方法