演进路径(从基础到企业级,再到微服务):
JavaSE → JavaWeb(Servlet/JSP) → Spring → SpringMVC → SSM → SpringBoot → SpringCloud
对比表格
| 技术/框架 | 定位 | 核心功能 | 应用场景 | 技术特点 |
|---|---|---|---|---|
| JavaSE | Java 标准版 | 基础语法、核心类库 | 桌面应用、基础开发 | 所有 Java 技术的基石 |
| JavaEE | 企业级规范(现 Jakarta EE) | Servlet、JSP、EJB、JPA 等企业级组件 | 传统企业级应用 | 规范复杂,逐渐被 Spring 替代 |
| JavaWeb | Web 开发基础 | 基于 Servlet/JSP 的动态网页开发 | 传统 Web 应用 | 依赖 JavaEE 规范 |
| Spring | 轻量级企业框架 | IoC、AOP、事务管理 | 企业级应用 | 解耦、灵活性高 |
| SpringMVC | Web 层框架 | MVC 架构实现、RESTful 支持 | Web 应用控制器层 | 基于 Servlet 封装 |
| SSM | 组合框架 | Spring + SpringMVC + MyBatis 整合 | 复杂业务逻辑的 Web 应用 | 灵活但配置繁琐 |
| SpringBoot | 快速开发框架 | 自动配置、内嵌服务器、Starter 依赖 | 微服务/单体应用快速开发 | 简化配置,开箱即用 |
| SpringCloud | 微服务解决方案 | 服务治理、配置中心、熔断器等 | 分布式系统、微服务架构 | 基于 SpringBoot,强扩展性 |
| Dubbo | 微服务解决方案 | 服务调用、流量分发和治理 | 分布式系统、微服务架构 | 需要独立的注册中心:Zookeeper |
一、框架介绍
1.JavaSE
JavaSE通常是指Java StandardEdition,Java标准版,是 Java 的核心和基础。就是一般Java程序的开发就可以(如桌面程序),可以看作是JavaEE的子集。
JavaSE是java的基石,如果将java程序想象成一座高楼大厦,那么JavaSE就是地基。
官方解释:
Java SE(Java Platform,Standard Edition)Java SE 以前称为 J2SE。
它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。
Java SE 包含了支持 Java Web服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。
JavaSE包含:
1、面向对象
2、多线程
3、IO流
4、javaSwing…
2.JavaEE
JavaEE是指Java Enterprise Edition,Java企业版,面向企业级应用开发。多用于企业级开发,包括web开发等等。也叫J2EE
JavaEE就是在JavaSE的基础上,添砖加瓦后出现的一种规范,说是框架也行。JavaEE 是 Java 应用最广泛的部分。
官方解释:
Java EE,Java 平台企业版(Java Platform Enterprise Edition) 之前称为Java 2 Platform, Enterprise Edition (J2EE) 2018年3月更名为 Jakarta
EE(这个名称应该还没有得到群众认可)。
是 Sun 公司为企业级应用推出的标准平台,用来开发B/S架构软件。
JavaEE包含:
1、serclet
2、jstl
3、jsp
4、spring
5、mybatis
3.JavaWeb
定位:基于 Java 技术栈的 Web 开发。
与框架的关系:JavaWeb 是基础,SpringMVC 等框架在其上封装。
什么是JavaWeb?Web:World Wide Web(WWW),即全球广域网,也称为万维网JavaWeb:是用Java技术来解决Web互联网工程的技术栈
Java Web 其实就是一个技术的总和,把Web看成一个容器而已。主要使用JavaEE技术来实现,再加上各种中间件。
web包括:Web服务端和Web客户端两部分。Java在客户端的应用有Java Applet,现如今基本上已经淘汰。Java服务端的应用非常的丰富,比如Servlet,JSP、Thymeleaf、Apache Freemark、第三方框架(Spring)等。
静态Web:界面内容固定,不会根据时效性、用户类型、权限等动态刷新界面所显示容。动态Web:界面内容不固定,动态实时改变所呈现的界面内容信息。
4.Spring
Spring 是轻量级的开源的 JavaEE 框架,Spring 可以解决企业应用开发的复杂性
🎈Spring 有两个核心部分:IOC 和 Aop
IOC:控制反转,把创建对象过程交给 Spring 进行管理
Aop:面向切面,不修改源代码进行功能增强
Spring 特点
1、方便解耦,简化开发
2、Aop 编程支持
3、方便程序测试
4、方便和其他框架进行整合
5、方便进行事务操作
6、降低 API 开发难度
5.SpringMVC
1、什么是MVC
🎃MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分
M:Model,模型层,指工程中的JavaBean,作用是处理数据
V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据
C:Controller,控制层,指工程中的servlet,作用是接收请求和响应浏览器
个人理解的对应关系:
| MVC | SpringBoot |
|---|---|
| M:Model,模型层 | 对应mapper、实体类 |
| V:View,视图层 | 对应前端页面 |
| C:Controller | 对应Controller层 |
JavaBean分为两类:
一类称为实体类Bean:专门存储业务数据的,如 Student、User 等
一类称为业务处理 Bean:指 Service 或 Dao 对象,专门用于处理业务逻辑和数据访问。
MVC的工作流程:
1、用户通过视图层发送请求到服务器,在服务器中请求被Controller接收
2、Controller调用相应的Model层处理请求,处理完毕将结果返回到Controller
3、Controller再根据请求处理的结果找到相应的View视图,渲染数据后最终响应给浏览器
2、什么是SpringMVC
SpringMVC是Spring的一个后续产品,是Spring的一个子项目
SpringMVC 是 Spring 为表述层开发提供的一整套完备的解决方案。在表述层框架历经 Strust、WebWork、Strust2 等诸多产品的历代更迭之后,目前业界普遍选择了 SpringMVC 作为 Java EE 项目表述层开发的首选方案。
注:三层架构分为表述层(或表示层)、业务逻辑层、数据访问层,表述层表示前台页面和后台servlet
3、SpringMVC的特点
- Spring 家族原生产品,与 IOC 容器等基础设施无缝对接
- 基于原生的Servlet,通过了功能强大的前端控制器DispatcherServlet,对请求和响应进行统一处理
- 表述层各细分领域需要解决的问题全方位覆盖,提供全面解决方案
- 代码清新简洁,大幅度提升开发效率
- 内部组件化程度高,可插拔式组件即插即用,想要什么功能配置相应组件即可
- 性能卓著,尤其适合现代大型、超大型互联网项目要求
6.SSM
SSM框架是spring、spring MVC 、和mybatis框架的整合,是标准的MVC模式。
标准的SSM框架有四层,分别是dao层(mapper),service层,controller层和View层。
使用spring实现业务对象管理,使用spring MVC负责请求的转发和视图管理,mybatis作为数据对象的持久化引擎。
逻辑流程
1、 用户发送请求至前端控制器DispatcherServlet。
2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。
3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
4、 DispatcherServlet调用HandlerAdapter处理器适配器。
5、 HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。
6、 Controller执行完成返回ModelAndView。
7、 HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。
8、 DispatcherServlet将ModelAndView传给ViewReslover视图解析器。
9、 ViewReslover解析后返回具体View。
10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。
11、 DispatcherServlet响应用户。
7.SpringBoot
SpringBoot是Spring家族中一个全新框架,用来简化Spring应用程序的创建和开发过程。
特性
1、一个快速开发框架,能够快速创建基于Spring的应用程序
2、能够直接使用java main方法启动内嵌的HTTP服务器(Tomcat,Jetty)运行Spring Boot程序,不需要部署war包文件
3、通过用MAVEN依赖的继承方式,帮助我们快速整合第三方常用框架
4、提供约定的starter Pom来简化Maven配置,让Maven配置变的更简单
5、完全采用注解化(使用注解方式启动SpringMVC),基本可以完全不使用XML配置文件,简化XML配置
6、自动化配置,根据项目的Maven依赖配置,Spring Boot自动配置Spring、SpringMVC等
四大核心`
1.自动配置
2.起步依赖,类似从单独点菜变为点套餐
3.Actuator健康检测
4.命令行界面
8.SpringCloud
是一套目前完整的微服务框架,它是一系列框架的有序集合。
它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用SpringBoot的开发风格做到一键启动和部署。
二、框架对比
1.Spring和SpringMvc
🎪spring是一个一站式的轻量级的java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对于开发的WEB层(springMvc)、业务层(Ioc)、持久层(jdbcTemplate)等都提供了多种配置解决方案;
🎨springMvc是spring基础之上的一个MVC框架,主要处理web开发的路径映射和视图渲染,属于spring框架中WEB层开发的一部分;
2.SpringMvc和SpringBoot
SpringMvc属于一个企业WEB开发的MVC框架,涵盖面包括前端视图开发、文件配置、后台接口逻辑开发等,XML、config等配置相对比较繁琐复杂;
SpringBoot框架相对于springMvc框架来说,更专注于开发微服务后台接口,不开发前端视图,同时遵循默认优于配置,简化了插件配置流程,不需要配置xml,相对springmvc,大大简化了配置流程;
个人理解的对应关系:
| MVC | SpringBoot |
|---|---|
| M:Model,模型层 | 对应mapper、实体类 |
| V:View,视图层 | 对应前端页面 |
| C:Controller | 对应Controller层 |
3.SpringBoot和SpringCloud
SpringCloud 依赖 SpringBoot,专注于分布式系统。
关系与区别
SpringBoot只是一个快速开发框架,使用注解简化了xml配置,内置了Servlet容器,以Java应用程序进行执行。SpringCloud是一系列框架的集合,可以包含SpringBoot。- spring boot使用了
默认大于配置的理念,集成了快速开发的spring多个插件,同时自动过滤不需要配置的多余的插件,简化了项目的开发配置流程,一定程度上取消xml配置,是一套快速配置开发的脚手架,能快速开发单个微服务; - spring cloud大部分的功能插件都是基于springBoot去实现的,
springCloud关注于全局的微服务整合和管理,将多个springBoot单体微服务进行整合以及管理; springCloud依赖于springBoot开发,而springBoot可以独立开发;
SpringBoot是微服务框架吗?
1、SpringBoot只是一个快速开发框架,算不上微服务框架。
2、SpringCloud+SpringBoot 实现微服务开发。具体的来说是,SpringCloud具备微服务开发的核心技术:RPC远程调用技术;SpringBoot的web组件默认集成了SpringMVC,可以实现HTTP+JSON的轻量级传输,编写微服务接口,所以SpringCloud依赖SpringBoot框架实现微服务开发。
4.JavaEE、JavaSE和JavaME
Java 平台有三个版本,这使软件开发人员、服务提供商和设备生产商可以针对特定的市场进行开发:
Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
5.SpringBoot和SSM
SpringBoot 是 SSM 的升级版,通过自动配置简化开发。
6.JavaEE和Spring
Spring 是对 JavaEE 的轻量化替代,SpringBoot 进一步简化。
JavaEE->Spring->SpringBoot
7.SpingCloud和Dubbo
相同点:都是微服务框架
总结与选型建议
选择 Dubbo:若追求高性能 RPC,且团队具备较强的定制和运维能力。
选择 Spring Cloud:若需快速搭建全功能微服务架构,或依赖 Spring 生态的便利性。
混合使用:内部服务用 Dubbo 提升性能,对外接口用 Spring Cloud 实现 RESTful 集成
适用场景
Spring Cloud:适合 快速构建微服务生态(如互联网应用),尤其适合熟悉 Spring 的中小团队。
Dubbo:适合 高性能 RPC 调用(如企业内部系统)、大规模服务集群,需较强技术团队维护。
服务治理能力
Dubbo 提供 企业级服务治理,支持负载均衡、熔断、流量控制等,适合复杂治理需求。
Spring Cloud 通过组合组件(如 Hystrix、Ribbon)实现治理,灵活性高但需自行整合。
架构流程
Dubbo:需独立部署注册中心(如 Zookeeper)、监控中心等组件,架构复杂度较高。
Spring Cloud:通过 API 网关(如 Zuul)统一访问内部服务,注册中心(如 Eureka)与负载均衡(Ribbon)集成更便捷。
Java开发的就业市场正在经历结构性调整,竞争日益激烈
传统纯业务开发岗位(如仅完成增删改查业务的后端工程师)的需求,特别是入门级岗位,正显著萎缩。随着企业技术需求升级,市场对Java人才的要求已从通用技能转向了更深入的领域经验(如云原生、微服务)或前沿的AI集成能力。这也导致岗位竞争加剧,在一、二线城市,求职者不仅面临技术内卷,还需应对学历与项目经验的高门槛。
大模型为核心的AI领域正展现出前所未有的就业热度与人才红利
2025年,AI相关新发岗位数量同比激增543%,单月增幅最高超过11倍,大模型算法工程师位居热门岗位前列。行业顶尖人才的供需严重失衡,议价能力极强,跳槽薪资涨幅可达30%-50%。值得注意的是,市场并非单纯青睐算法研究员,而是急需能将大模型能力落地于复杂业务系统的工程人才。这使得具备企业级架构思维和复杂系统整合经验的Java工程师,在向“Java+大模型”复合人才转型时拥有独特优势,成为企业竞相争夺的对象,其薪资天花板也远高于传统Java岗位。
说真的,这两年看着身边一个个搞Java、C++、前端、数据、架构的开始卷大模型,挺唏嘘的。大家最开始都是写接口、搞Spring Boot、连数据库、配Redis,稳稳当当过日子。
结果GPT、DeepSeek火了之后,整条线上的人都开始有点慌了,大家都在想:“我是不是要学大模型,不然这饭碗还能保多久?”
先给出最直接的答案:一定要把现有的技术和大模型结合起来,而不是抛弃你们现有技术!掌握AI能力的Java工程师比纯Java岗要吃香的多。
即使现在裁员、降薪、团队解散的比比皆是……但后续的趋势一定是AI应用落地!大模型方向才是实现职业升级、提升薪资待遇的绝佳机遇!
如何学习AGI大模型?
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
2025最新版CSDN大礼包:《AGI大模型学习资源包》免费分享**
一、2025最新大模型学习路线
一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。大模型领域涉及的知识点非常广泛,没有明确的学习路线可能会导致新人感到迷茫,不知道应该专注于哪些内容。
我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。
L1级别:AI大模型时代的华丽登场
L1阶段:我们会去了解大模型的基础知识,以及大模型在各个行业的应用和分析;学习理解大模型的核心原理,关键技术,以及大模型应用场景;通过理论原理结合多个项目实战,从提示工程基础到提示工程进阶,掌握Prompt提示工程。
L2级别:AI大模型RAG应用开发工程
L2阶段是我们的AI大模型RAG应用开发工程,我们会去学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。
L3级别:大模型Agent应用架构进阶实践
L3阶段:大模型Agent应用架构进阶实现,我们会去学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造我们自己的Agent智能体;同时还可以学习到包括Coze、Dify在内的可视化工具的使用。
L4级别:大模型微调与私有化部署
L4阶段:大模型的微调和私有化部署,我们会更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调;并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。
整个大模型学习路线L1主要是对大模型的理论基础、生态以及提示词他的一个学习掌握;而L3 L4更多的是通过项目实战来掌握大模型的应用开发,针对以上大模型的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。
二、大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
三、大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
四、大模型项目实战
学以致用,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
五、大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
2025最新版CSDN大礼包:《AGI大模型学习资源包》免费分享