Java开发框架演变过程
JavaWeb开发简史

Java框架创始人

Java框架说明
Spring: 把应用程序中的bean统一交给Spring进行管理控制,简化了我们的代码操作,和降低了代码的耦合度,Spring框架基本上是所有公司都用的一门技术,因为它能很轻松的渗透控制层,持久层和业务层,由于使用频率太高了,以至于现在外面很多控制层的框架或者持久层的框架基本上都能和Spring进行无缝集成
SpringMVC:SpringMVC是Spring的一个子项目,它主要是控制层的架构,它对于接收参数还有跳转页面都进行了较大的简化,让程序员更好的入门和操作更加简单,如果你是老程序员用过struts或者struts2基本上就在厕所哭,太难入手了,而且用起来也是很复杂的一件事情
SpringBoot:它的作用就是快速搭建企业级的架构和简化程序员很多繁琐复杂的步骤,比如jar包导入的简化和编程式代码的简化
SpringCloud:如果遇到上亿级别的项目,我们如果只有单体项目是不行的,因为单体项目存在很多劣势(单点故障,不能处理高并发量...这些都是它的劣势),所以我们就得创建多个服务来运行微小项目,所有的微小项目组合在一起就是一个大项目,那多个项目之间是需要管理控制的,所以我们可以使用SpringCloud来进行管理和创建。
Mybatis:它是一个orm框架,它要比jdbc好用太多了,因为它可以吧结果集自动映射对应的实体类,由于是自己手动编写sql语句,所以性能方面是能得到一定的保证,向jpa虽然要比mybatis操作更加简单,但是sql语句一般都是自动生成,所以性能方面我们也是不好控制,所以外面公司基本上还是喜欢使用mybatis
Redis:由于现在互联网的项目是越来越多,很多时候为了简化数据库的压力,让用户查询性能更高,我们会采用redis来做缓存
Maven:现在单体项目是越来越少了,基本上都是按照功能或者模块划分项目,那多个项目之间是需要进行关联和管理的,所以我们可以采用maven进行对应的管理
Elasticsearch :如果我们做电商网站,或者互联网的项目,就会涉及到一个高级查询,由于sql语句的模糊查询性能低下,所以我们可以使用es对数据进行分词,创建索引,让查询性能更高,匹配度也是更好
Java框架演进
Servlet技术只是一些底层的技术。实际开发之中是不会用到的!
现在目前实际用到的Java开发技术:
早在15年左右的时候流行:SSH(Spring+Struts+Hibernate);现在基本已经离开市场。
SpringData JPA前身就是Hibernate!
第一种:SpringMVC(快淘汰了)
- 前端:Jsp(或Html)
- 后端:SSM(Spring + SpringMVC + Mybatis)
第二种:单体应用SpringBoot(主流)
- 前端:LayUI + Thymeleaf
- 后端:SpringBoot + Mybatis(或者JPA) + Redis(可选)
第三种:前后端分离SpringBoot(主流)
- 前端:Vue + ElementUI + Axios
- 后端:SpringBoot + Mybatis(或者JPA) + Redis(可选)
第四种:前后端分离SpringCloud(微服务)(主流)
- 前端:Vue + ElementUI + Axios
- 后端:SpringBoot + SpringCloud + Mybatis(或者JPA) + Redis(可选) + Elasticsearch(可选) + MQ(可选)
架构演变过程



理解架构的核心要素
一般来说软件架构需要关注性能、可用性、伸缩性、扩展性和安全性这5个架构要素。
一个常规应用需要用到的技术
在编写一个基于Spring Boot的常规应用时,需要使用到以下技术:
Spring Boot:作为项目的核心框架,提供自动配置、内嵌服务器等功能,简化开发过程。
Spring Security:用于提供安全性功能,如用户认证和授权,保护系统的敏感数据和操作。
JPA/MyBatis:作为数据访问对象(DAO)层的技术,用于与数据库交互,实现数据的增删改查操作。
H2/MySQL/Redis/其他数据库:作为存储应用信息的数据库。
API文档工具:如Swagger或SpringFox,用于自动生成和展示REST API文档,方便前后端开发人员协作。
Thymeleaf/JSP/其他前端框架:用于构建Web页面的视图层,实现前后端数据的展示和交互。
扩展:
拦截器,过滤器,跨域配置,权限控制,多数据源,自定义注解,防止XSS攻击,全局异常处理,防止重复提交,请求限流,文件读写,实时通讯,多线程,任务调度,分库分表,分布式锁,自动化部署。。。
全栈开发技术分类

开源流行数据库

后端Java代码目录示例

前端VUE代码目录示例

Java开发框架演变过程的更多相关文章
- BuguMongo是一个MongoDB Java开发框架,集成了DAO、Query、Lucene、GridFS等功能
http://code.google.com/p/bugumongo/ 简介 BuguMongo是一个MongoDB Java开发框架,它的主要功能包括: 基于注解的对象-文档映射(Object-Do ...
- 轻量级的Java 开发框架 Spring
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development a ...
- 又一个小而美的Java 开发框架: Solon 1.2 新篇
Solon 1.2 发布后,取消了X类名前缀.故对此文做些调整. Solon 是Java世界里一个新的极易上手的Java开发框架.参考过 Javalin . Spring boot 等很多现有框架的设 ...
- JAVA开发框架
1.Bootstrap Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML.CSS.JavaScript 开发的简洁.直观.强悍 ...
- 不妨试试更快更小更灵活Java开发框架Solon
@ 目录 概述 定义 性能 架构 实战 Solon Web示例 Solon Mybatis-Plus示例 Solon WebSocket示例 Solon Remoting RPC示例 Solon Cl ...
- Java的演变过程
1. 1996.01.23 JDK1.0 代号Oak:212个类.8个包: 2. 1997.02.19 JDK1.1 504个类.23个包: Java Bean.远程方法调用(RMI).JAR文件格式 ...
- 《如莲春天》Java开发框架
关于 如莲者,净洁如莲之意,希望打造一个简洁的系统框架.系统主要采用Spring相关技术,故取名:如莲春天. 如莲春天,包括一套系统界面.一个权限管理系统.一个CURD代码生成模块.一些基础模块 ...
- 各JAVA开发框架版本及对应信息
日期:2017.05.22 当前最新 release 版本情况: 框架 最新GA(General Availability)版本 spring 4.3.8 spring boot 1.5.3 myba ...
- 阿里巴巴十年Java架构师分享,会了这个知识点的人都去BAT了
1.源码分析专题 详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美.提高核心竞争力. 帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华.知其然,并知其所以然.把知识变成自 ...
- [转]阿里巴巴十年Java架构师分享,会了这个知识点的人都去BAT了
1.源码分析专题 详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美.提高核心竞争力. 帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华.知其然,并知其所以然.把知识变成自 ...
随机推荐
- NSThread的isEexcuting和isFinish什么时候被设置
NSThread的isExecuting在进入-[NSThread main]函数之前就已经被设置成YES; NSThread的isFinished在执行+[NSThread exit]后才被设置成N ...
- springboot中quartz定时器的postgresql建表语句
建表语句如下: DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS; DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS; DRO ...
- Python:Python对象模型与序列迭代陷阱
1. Python对象模型与浅拷贝/深拷贝 1.1 Python对象模型和引用 在我们讲解Python的序列修改陷阱之前,先巩固一下Python的对象模型和浅拷贝/深拷贝的知识. 众所周知,Pytho ...
- 使用 Spacesniffer 找回 48G 系统存储空间的总结
前言 Spacesniffer 是一个免费的文件扫描工具,通过使用树状图可视化布局,可以立即了解大文件夹的位置,帮助用户处理找到这些文件夹 当前系统C盘空间 清理后系统C盘空间 下载 Spacesni ...
- QShop商城--项目介绍
QShop商城-项目介绍 QShop商城,是全新推出的一款轻量级.高性能.前后端分离的电商系统,支持微信小程序,前后端源码100%开源,完美支持二次开发,让您快速搭建个性化独立商城. 技术架构:.Ne ...
- WPF显示网络图片的几种方法
1.利用数据流 1 Image img; 2 byte[] btyarray = GetImageFromResponse(imageUrl); 3 4 //字节数据转流 5 MemoryStream ...
- .NET常用库-Ocelot
一 介绍 1.简介 Ocelot是一个.NET API网关. Ocelot仅适用于.NET Core,目前是为netstandard2.0构建的. Ocelot是一组按特定顺序排列的中间件. Ocel ...
- WPF开发快速入门【6】下拉框与枚举类型
概述 本文讲述下拉框和枚举类型进行绑定的一些操作. 下拉框的基本操作 设计部分: <ComboBox ItemsSource="{Binding Fruits}" Selec ...
- Flutter(三):Flutter App 可行性分析
一.生态建设 第三方Package https://pub.dev/packages?sort=popularity 截止2021年4月,第三方库达到17000+ 二.Devops 代码风格检查 An ...
- 行列式求值,从 $n!$ 优化到 $n^3$
前置知识 \(\sum\) 为累加符号,\(\prod\) 为累乘符号. 上三角矩阵指只有对角线及其右上方有数值其余都是 \(0\) 的矩阵. 如果一个矩阵的对角线全部为 \(1\) 那么这个矩阵为单 ...