web技术收集。
涉及概念
分布式框架、负载均衡(反向代理)、高可用、扩容、中间件、消息队列、注册中心、缓存、CICD、网络CDN、数据库(分库分表,主从复制,读写分离,扩容)
MVC考点
MVC演化过程
阶段一:Servlet/Filter扮演控制器角色
Servlet/Filter扮演Controller角色,JSP扮演View角色,JavaBean扮演Model角色,数据库访问技术为具体DB的jdbc
传统的Java Web应用程序是采用JSP+Servlet+Javabean来实现的,这种模式实现了最基本的MVC分层,使的程序结构分为几层,有负责前台展示的 JSP、负责流程逻辑控制的Servlet以及负责数据封装的Javabean。这种结构仍然存在问题:如JSP页面中需要使用符号嵌入很多的 Java代码,造成页面结构混乱,Servlet和Javabean负责了大量的跳转和运算工作,耦合紧密,程序复用度低等等。
阶段二:SSH
三大框架:
- View层 使用 Structs 负责请求的转发和视图管理
- Controller层 Spring 扮演Controller角色,实现业务对象管理
- Model层 DAO层 Hibernate作为数据对象的持久化引擎
阶段三:SSM
SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为四层:
- View层 使用Spring MVC负责请求的转发和视图管理
- Controller层 Spring扮演Controller角色,实现业务对象管理
- service层 ?
- Model层 DAO层 Mybatis作为数据对象的持久化引擎
Spring框架
我们平时开发接触最多的估计就是IOC容器,它可以装载bean(也就是我们 Java 中的类,当然也包括service dao里面的),有了这个机制,我们就不用在每次使用这个类的时候为它初始化,很少看到关键字new。另外spring的aop,事务管理等等都是我们经常用到的。
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
Spring框架目前是JavaWeb开发的主流框架,也可以说是诸多企业的必选框架,它大致包括六大模块。
1.Spring核心容器。该容器是Spring框架最核心部分,它管理着Spring运用中bean的创建、配置和管理等
2.Spring AOP。该模块为面向切面和DI(依赖注入)提供了很好的支持
3.数据库访问与集成模块
4.Web与远程调用技术
5.Instrument模块
6.Test模块
Mybatis框架
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache软件基金会迁移到了google code,并且改名为MyBatis 。mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
1.根据Mybatis源码,将其抽象为三层:基础支持层,核心处理层和接口层
2.基础支持层包括:数据源、事务管理、日志、类型转换、缓存、Bind、解析器等
3.核心处理层包括:配置解析、配置映射、SQL解析、SQL执行、结果集映射、插件等
4.接口层主要提供JAVA API
Springboot 框架
配置文件:application.properties 或 application.yml,配置数据源和解析jsp。