目录
Java EE 简述
Java EE 发展历程
什么是Web开发?
Web网站的工作流程
什么是框架
框架的定义
源于建筑行业的类比
框架的作用
Java EE 框架学习概览
1. Spring
2. Spring Boot
3. Spring MVC
4. Mybatis
框架之间的关系
Java EE是Java平台的企业级扩展,为企业级应用程序提供了一套规范和技术标准。它建立在Java SE(Java Platform Standard Edition)的基础之上,通过引入额外的API和服务,以支持开发、部署和管理大规模、复杂的企业级应用。
Java SE(Java Standard Edition):
Java EE(Java Enterprise Edition):
Java ME(Java Micro Edition):
Java EE的主要特性包括:
分布式计算: Java EE支持构建分布式应用程序,通过使用Enterprise JavaBeans(EJB)等组件模型,实现在不同计算节点上的组件交互。
事务管理: 通过Java Transaction API(JTA),Java EE提供了对分布式事务的支持,确保在复杂的业务流程中维持数据的一致性。
持久性: Java Persistence API(JPA)定义了对象与关系数据库之间的映射规范,简化了数据存储和检索的过程。
Web服务: Java EE包括对构建和消费Web服务的支持,使用JAX-RS和JAX-WS等API。
消息传递: 通过Java Message Service(JMS),Java EE允许应用程序在分布式环境中进行异步通信。
Web应用程序开发: Java EE提供了Servlets和JavaServer Pages(JSP)等技术,用于构建可扩展的Web应用程序。
安全性: Java EE定义了一套安全标准,包括身份验证、授权和加密,以确保企业级应用程序的安全性。
管理和部署: Java EE提供了用于管理和部署应用程序的工具和API,使得企业能够有效地管理其应用程序的生命周期。
总体而言,Java EE为企业级应用程序提供了一种规范化的、可扩展的开发和运行环境,支持复杂业务需求和大规模部署。通过遵循Java EE的规范,开发人员可以确保其应用程序在不同的Java EE兼容平台上运行,并利用企业级功能和服务。
初期整合:
Java EE最初是作为Java的企业扩展部分,被整合到核心JDK("核心JDK"通常指的是Java SE(Java Standard Edition))中。这个时期的Java主要关注桌面应用程序和小型应用的开发。J2EE时期(Java 2 Platform Enterprise Edition):
在1999年,Java EE被分离成Java 2的一部分,被称为J2EE。这一版本引入了一系列的企业级规范和技术,支持分布式计算、事务管理、消息队列等。Java EE时期:
到了2006年,Sun Microsystems(Java的创始公司)决定将J2EE重命名为Java EE,以反映它的企业级应用开发重点。这一时期见证了Java EE规范的不断完善和新功能的引入,以满足不断增长的企业级应用需求。Java EE向Jakarta EE过渡:
在2017年,由于Oracle将Java EE捐赠给Eclipse基金会,Java EE面临了一个新的阶段。为了摆脱商业品牌的约束,Eclipse基金会组织了一次命名投票,结果是Jakarta EE。这标志着Java EE的开源社区接管,并且不再使用商标受限的Java EE名称。Jakarta EE:
Jakarta EE是Java EE的继任者,继续提供一套用于企业级应用程序开发的规范。这一时期的发展主要由Eclipse基金会牵头,致力于在开源社区的支持下推动Java企业级技术的演进。Jakarta EE的版本更新和改进仍然遵循Java EE的传统,但有了更加开放和社区驱动的发展模式。总体而言,Java EE和Jakarta EE的发展历程代表了Java在企业级应用领域的不断演进和创新,以适应不断变化的技术和市场需求。这一演进过程中的每个阶段都带来了新的特性、改进和开发者社区的参与。
JavaEE的前世今生:Jakarta EE 的前世今生 - MyBatis中文官网
Java EE 最主要的应用领域之一还是 Web 开发。Java EE 提供了一系列的规范和 API,使得开发者能够构建强大、可扩展、安全的企业级 Web 应用程序。
Web 开发是指构建和维护能够通过互联网(全球广域网,也称为万维网)访问的应用程序和网站的过程。这些应用程序和网站可以通过各种设备的浏览器访问,如电脑、平板电脑和手机。Web 开发涉及多种技术和层面,通常包括以下几个方面:
前端开发(Front-end Development):
后端开发(Back-end Development):
数据库管理:
Web 服务器:
网络安全:
版本控制系统:
Web 开发是一个涉及多个技术领域的复杂过程,需要前后端协同工作,以创建功能强大、用户友好的 Web 应用程序。
当前,用户在PC端应用开发方面主要采用两种结构模式,即C/S(Client/Server)和B/S(Browser/Server)结构。
C/S架构,即客户端/服务器结构,常见于应用如QQ、CCTALK以及各类网络游戏等。这类应用通常需要用户在本地安装专用客户端,并与服务器进行直接的网络通信。
另一方面,B/S架构,即浏览器/服务器结构,包括Web浏览器、服务器程序和数据库服务三个部分。相较于C/S架构,B/S架构是对其一种改进,其核心业务逻辑由服务器程序处理,使得用户只需通过浏览器完成所有操作,从而显著降低了客户端的维护成本。
这种结构模式适用于对客户端要求不高,且希望减轻客户端维护负担的应用场景,如Web应用和电子邮件服务等。选择合适的结构模式通常取决于应用程序的具体需求和特点。
具体来说,C/S(Client/Server)和 B/S(Browser/Server)是两种不同的应用程序架构模式,它们主要指导了应用程序的组织结构和用户交互方式。
C/S架构(Client/Server):
B/S架构(Browser/Server):
总体而言,C/S架构和B/S架构各有优劣,选择取决于应用程序的需求和特点。C/S架构适用于对性能和功能要求较高的应用,而B/S架构适用于对跨平台兼容性和维护成本有较高要求的应用。近年来,随着Web技术的发展,B/S架构在许多场景中得到了广泛应用。
架构 | 优点 | 缺点 |
---|---|---|
C/S |
|
|
B/S |
|
|
我们以后的JavaEE项目应该大部分都是基于 B/S架构的……
典型的前后端分离的 Web 开发流程,可以简单概括为以下步骤:
通过浏览器访问前端程序: 用户通过浏览器访问前端程序,这可能是一个由 HTML、CSS、JavaScript 等构建的 Web 应用。
前端程序返回前端代码: 前端程序向浏览器返回相应的前端代码。这些代码包括用户界面的布局和交互逻辑,以及可能需要在后续步骤中向后端请求数据的代码。
前端程序调用后端程序获取数据: 如果前端程序需要与后端进行交互,例如获取动态数据或执行某些业务逻辑,它会发起对后端程序的请求。这通常通过 AJAX 请求或其他类似的技术来实现。
后端返回数据: 后端程序接收到前端的请求,处理请求并返回相应的数据。这可能涉及到与数据库的交互、业务逻辑的处理等。
前端根据后端数据进行页面渲染: 前端程序收到后端返回的数据后,根据数据进行页面的渲染。这可能包括更新页面上的内容、展示新数据、或执行其他与用户界面相关的操作。
整个过程中,前端负责用户界面的呈现和交互,而后端负责处理业务逻辑和数据存取。这种前后端分离的架构有利于代码的模块化和团队协作。
随着技术的发展,不论是后端还是前端开发,很少直接使用原生代码,而是采用各种开发框架。在后端开发中,常见的后端框架包括Spring、SpringBoot、Mybatis等,而前端则常用Vue、React、Angular等框架。这些框架都共享一个特点:简单且高效,显著提高了开发效率。
框架(Framework) 指的是一套预先编写好的代码,为开发者提供通用功能,用于解决特定问题的软件架构。框架包括库、工具集、编码规范等,旨在简化开发流程、提高效率。
应用领域: 后端框架用于服务器端应用程序的构建,而前端框架用于构建用户界面。
示例框架: 后端框架有Spring、SpringBoot、Mybatis,前端框架有Vue、React、Angular。
最早的“框架”一词源于建筑行业,指一个框子(约束性)和一个架子(支撑性)。在计算机领域,框架是一种基本概念上的结构,用于解决复杂问题,可看作为应用开发者定制的应用框架。
类比: 在盖房子中,框架就像一幢半成品的房子,你可以理解为⼀个毛坯房。 有了这个毛坯房之后,你就可以把它装修成自己想要的样子。没有这个毛坯房的话, 你就需要自己盖房子主体结构等。
简化开发: 提供通用解决方案,使开发者专注于业务逻辑,减少从零开始构建基本功能的工作。
提高效率: 提供开发过程中需要的工具和库,减少冗余代码的编写,提高开发效率。
约定优于配置: 遵循规范和约定,减少配置的繁琐性,提供一种一致和可预测的开发体验。
可扩展性: 支持插件和扩展,使开发者可以根据需求灵活地扩展框架的功能。
提高可维护性: 结构化的框架有助于代码的组织和维护,促进项目的可维护性和协作性。
在前端和后端开发中,不同的框架被设计用于不同的用途,例如前端框架(Vue、React、Angular)用于构建用户界面,而后端框架(Spring、Express、Django)则用于服务器端应用程序的构建。
在Java EE课程中,涉及了四个关键框架,分别是 Spring、Spring Boot、Spring MVC 和 Mybatis。这些框架在Java EE开发中扮演着不同的角色,提供了丰富的功能,使得企业级应用程序的开发更加高效和便捷。
Spring框架: 是一个综合性的企业级Java应用开发框架,提供了广泛的基础设施支持和丰富的功能集,包括IoC(控制反转)、AOP(面向切面编程)、事务管理等。
Spring Boot框架: 是在Spring基础上构建的快速开发框架,简化了Spring应用程序的搭建和配置,通过约定大于配置的原则,加速了应用程序的开发。
Spring MVC框架: 是Spring框架的一部分,提供了基于MVC(模型-视图-控制器)的Web应用程序开发支持。
Mybatis框架: 是一个持久层框架,用于简化数据库操作,通过XML或注解配置,将Java对象映射到数据库表。
Spring家族: Spring、Spring Boot、Spring MVC 三者相互关联,Spring为基础,Spring Boot简化配置,Spring MVC用于构建Web应用。
Mybatis与Spring的整合: Mybatis作为持久层框架,可以与Spring整合,通过Spring管理事务,简化数据库操作。
这些框架的综合使用使得Java EE开发更加高效、灵活,并提供了强大的功能和工具,适用于各种企业级应用的开发需求。