基于最原始的tomcat + servlet 的编码原理
对spring IOC机制的理解
- 控制反转/依赖注入
- 解决的痛点 :
- 之前都是需要new对象,类与类之间重度耦合,代码修改变动较大.
- Bean加载流程
- Tomcat启动的时候直接会启动spring容器
- 扫描所有的代码,根据代码的注解Bean,或者是xml配置
- 扫描到的bean都由spring容器创建管理.
- 并且创建并建立对象中的引用, 自动注入.
- @Autowired 与@Resource
- @Autowired 按byType自动注入
- @Resource默认按 byName自动注入
- 引入spring mvc等一些框架,内包含一些核心组件.
- 底层的核心技术是什么?
- 反射技术,通过类加载器加载class , 通过反射创建bean实例.
- 优势是什么:
- 让spring 系统的 类与类之间彻底的解耦合.
对spring AOP机制的理解
- 切面编程
- 解决的痛点:
- 多个场景,都同时有类似的需求 , 大量的重复的代码在不同的类中出现.
- @Around @Before @After
- @ Order (i) 按照 i 的大小决定切面的顺序. i 小先进.
- 在切入点前的操作,按order的值由小到大执行
- 在切入点后的操作,按order的值由大到小执行
- AOP的核心技术就是动态代理.
- 生成一个动态代理对象,将切面内的bean注入到这个动态代理对象内 .
- 在IOC自动注入的时候 , 其实是注入的动态代理这个对象.