JAVA开发岗?
不多说先上图
先把spring学明白
无处不在的springSpring的灵活库受到全世界开发人员的信任。无论是流媒体电视,联网汽车,在线购物还是无数其他创新解决方案,Spring每天都为数百万最终用户提供令人愉悦的体验。Spring还得到了包括阿里巴巴,亚马逊,谷歌,微软等在内的所有科技巨头的贡献。灵活的SpringSpring框架的核心是控制反转(IoC)和依赖注入(DI)功能,为广泛的功能集奠定了基础。无论您是为Web构建安全的,响应式的,基于云的微服务,还是为企业构建复杂的流数据流,Spring都可以提供帮助的工具。Spring IOC
IOC中的依赖注入、容器初始化过程、bean的知识以及实现的大致流程,IOC (Inversion of control ) 控制反转/反转控制。它是一种 思想 不是一个技术实现。描述的是:Java 开发领域对象的创建以及管理的问题。
Spring AOPAOP 的内部原理其实就是动态代理和反射了
动态代理相关原理的话,你需要了解什么是代理模式、静态代理的不足、动态代理的实现原理。Spring 中实现动态代理有两种方式可选,这两种动态代理的实现方式的一个对比也是面试中常问的。JDK 动态代理必须实现 InvocationHandler 接口,然后通过 Proxy.newProxyInstance(ClassLoaderloader, Class<?>[] interfaces, InvocationHandler h) 获得动态代理对象。CGLIB 动态代理使用 CGLIB 动态代理,被代理类不需要强制实现接口。CGLIB 不能对声明为 final的方法进行代理,因为 CGLIB 原理是动态生成为代理类的子类。OK,AOP 讲了。其实讲到这里,可能会有一个延伸的面试问题。我们知道,Spring事 物 也 是 通 过 AOP 来 实 现 的 , 我 们 使 用 的 时 候 一 般 就 是 在 方 法 上 加@Tranactional 注解,那么你有没有遇到过事物不生效的情况呢?这是为什么?这个问题我们在后面的面试题中会讲。
Spring MVC
1.M、V、C的含义先顾名思义:M:Model,模型;V:View,视图;C:Controller,控制器。M:Model,模型。这个M是理解MVC机制的关键。但M这个概念却很模糊,含义不明。是领域模型(Domain Model),代表业务实体与逻辑?是实体模型(Entity Model),代表ORM实体对象?还是视图模型(View Model,简称VM)?答案是视图模型!是视图内容的一种抽象或映射。V:View,视图。很好理解,就是UI界面,用户的交互接口,对应的代码就是一系列HTML元素。视图的作用是:(1)接收用户动作;(2)呈现处理结果。呈现的数据来自哪里?视图模型对象!C:Controller,控制器。控制器是个“框”,每个控制器包含一系列Action函数,每个Action(动作)代表一个HTTP请求(动作)与响应。每个Action函数的作用是:(1)接收HTTP请求;(2)返回请求处理结果。其进行业务处理或调用独立的业务层进行业务处理。返回什么结果?“视图+视图模型”的组合!这样View才能呈现用户在浏览器中看到的内容。那么“控制器”控什么?控“请求与响应”的关联,控“视图与视图模型”的关联。当然这些关联都由MVC框架底层支撑实现,控制器只是这些关联的呈现者。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有