【走进Java框架】什么是Java框架,为什么要学习Java框架.

news2024/11/29 18:28:54

前言:
大家好,我是良辰丫,今天我们就要开始Java框架之旅了,我们在学习的征途中不断充实自己,提升自己的能力,加油哈,自我勉励一下,跟随我的步伐,一起前行哈.💌💌💌

🧑个人主页:良辰针不戳
📖所属专栏:javaEE进阶篇之框架学习
🍎励志语句:生活也许会让我们遍体鳞伤,但最终这些伤口会成为我们一辈子的财富。
💦期待大家三连,关注,点赞,收藏。
💌作者能力有限,可能也会出错,欢迎大家指正。
💞愿与君为伴,共探Java汪洋大海。

在这里插入图片描述

目录

  • 1. 什么是Java框架
  • 2. 为什么要学习框架
  • 3. 简答对比一下Servlet和Spring Boot
    • 3.1 servlet
    • 3.2 Spring Boot

1. 什么是Java框架

  • Java框架就是一些类和接口的集合,通过这些类和接口协调来完成一系列的程序实现。框架又叫做开发中的半成品,它不能提供整个WEB应用程序的所有东西,但是有了框架,我们就可以集中精力进行业务逻辑的开发而不用去关心它的技术实现以及一些辅助的业务逻辑。说白了Java框架就是封装好方便程序员操作的类,使项目的开发更简单,维护起来也更容易。
  • 说到底,框架就是一套规范。既然是规范,你使用这个框架就要遵守这个框架所规定的约束。很多框架就限制了程序员的发挥,但是大多数框架有效的帮助程序员更好的去编写程序.

2. 为什么要学习框架

框架肯定要有一定的好处,要不然我们为什么要学它呢?

  • 现在市场上的项目基本都是用框架搭建的.
  • 咱们以前学的Servlet是老版的项目部署,迄今为止,咱们经常用的是框架,因为框架带来了很多便捷.
  • 那么为什么我们还要学习servlet编程呢?
    就拿简答的手动挡汽车和自动挡汽车来比较,自动挡肯定比手动挡好太多了.
    在我们没有接触自动挡的时候,开着手动挡的车也感觉挺不错的,但是当我们接触了自动挡的时候,就再也不想开手动挡的车了,自动挡的车没有离合器,开起来非常方便.
  • 既然如此,为什么不把手动挡的车(servlet)完全淘汰呢?
  • servlet是古老的部署方式,只有学好了复杂的原理东西,才能更好的上手新的东西,要不然即使hi写新的东西,即使方便多了,也很难理解.
    现在一些项目还需要用到servlet,就像java17最新版本出现很久了,但是我们还是在用java8最频繁,好多市场也在用servlet.多多益善,多学一些东西还是蛮好的.

简单总结一下为什么要学习框架:

  • 学习框架相当于自己的生产模式升级,以前是什么东西都要自己做,比较繁琐,但是框架不一样,高效,省去了很多动作,框架能帮我们完成很多东西.
  • 框架简单,容易上手,使用起来也非常高效.

3. 简答对比一下Servlet和Spring Boot

Spring Boot是我们后面要学到的框架,我们现在只需要简单了解二者的区别,后面我们会详细学习Spring Boot.

3.1 servlet

在javaEE初阶中我们已经详细讲解了servlet部署项目的过程,在这里我就不进行细讲了,大家如果不了解可以去看一下前面的内容.

servlet部署过程

  • 创建maven项目
  • 引入依赖
    maven仓库中搜索相应的依赖,还要选择匹配的版本
  • 创建目录
    这一步可以省略,因为创建maven项目的时候可以选择模板自动生成相应的目录.
  • 编写代码
    在代码中一个类只能对应一个url地址,具有局限性.
  • 打包代码+部署到Tomcat上.
    需要将压缩包放到Tomcat的webapps目录下,非常麻烦.
    而且有时候Tomcat的配置会出错,难以运行

小结servlet的缺点:

  • 添加外部 jar 不⽅便,容易出错,⽐如添加了⼀个不匹配的外部 jar 版本;
  • 运⾏和调试的时候需要配置 tomcat 不⽅便,需要把压缩包放到指定的位置.
  • 发布不⽅便,servlet 项⽬必须依靠外置的 tomcat(外置的 web 容器)运⾏。
  • 路由配置(路径)不⽅便,⼀个访问地址对应⼀个 Servlet 类。

3.2 Spring Boot

package com.example.demo;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/user")
public class User {
    @RequestMapping("/hello")
    public String Hello() {
        return "hello,word";
    }
    @RequestMapping("/bye")
    public String bye() {
        return "bye";
    }
}

先简单了解即可,后面会详解.

  • 创建一个springboot项目,在创建的过程中国直接选择相应的依赖,不用专门去maven中央仓库去下载.
  • SpringBoot会自动匹配对应的版本号,不用考虑版本不匹配的问题.
  • SpringBoot项目中内置了Tomcat,非常方便.
  • 运行程序的时候直接运行DemoApplication类,这个类是SpringBoot自带的.运行成功后会有一个图标,这是SpringBoot的标志.
    在这里插入图片描述
  • 那么我们就可以通过浏览器访问我们的网页了.
    在这里插入图片描述
    在这里插入图片描述
  • 打包,其实和servlet的大包方式大同小异.
    在这里插入图片描述
  • 在cmd里面直接可以运行我们的SpringBoot项目.
    在这里插入图片描述
    在这里插入图片描述

SpringBoot的优点:

  • 添加外部 jar 更容易,不易出错,因为咱们不需要关注版本问题,它会自动匹配.
  • 调试项⽬更加⽅便,⽆需配置 Tomcat;
  • 发布项⽬更加⽅便,不需要放在指定目录,因为SpringBoot内置了Tomcat.
  • 添加路由更加⽅便,⽆需每个访问地址都添加⼀个类,方法(函数)也可以通过注解添加地址.
  • 以后当我们把SpringBoot部署到服务器上面的时候,我们还有一些特殊的指令,让服务器一直运行我们的项目,具有后台挂起的功能,现在先简单了解即可.
  • 其实SpringBoot是一个和注解打交道的过程,对注解熟悉了,多去操作,其实框架并没有大家想的那么难,只是内容有点多罢了.
    现在我们提前有个了解,后面学的时候就比较容易了.

后序:
看到这里,java框架的入门篇也就接近尾声了,想必大家对java框架有了一定的了解,我们下一篇文章再见.🍬🍬🍬

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/589860.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【前端面试知识点】- 大厂面试(四)

目录 1.什么是尾调用,使用尾调用有什么好处?2.ES6 模块与 CommonJS 模块有什么异同?3.for…in 和 for…of 的区别4.ajax、axios、fetch(前台请求后台数据的方式)5. parseInt()的用法6.浏览器运行机制7.border-radius:50%和100%究竟有什么区别…

Ansible从入门到精通【四】

大家好,我是早九晚十二,目前是做运维相关的工作。写博客是为了积累,希望大家一起进步! 我的主页:早九晚十二 专栏名称:Ansible从入门到精通 立志成为ansible大佬 ★ansible-playbook应用 play-book的介绍pl…

lmsys.org最新的LLM排行榜

lmsys.org Large Model Systems Organization (LMSYS Org) 是一个开放的研究组织,由加州大学伯克利分校的学生和教师与加州大学圣地亚哥分校和卡内基梅隆大学合作创立。 他们的目标是通过共同开发开放数据集、模型、系统和评估工具,让每个人都能访问大…

App 应用测试方法以及测试思路

分析三种主流的移动 App 类型,并给出和普通web测试不同的地方,给出测试的思路,并给出部分场景组合。 移动端测试还是 PC 端测试,业务测试其实都属于 GUI 测试的范畴,所以基本的测试思路,比如基于页面对象封…

清凉一夏小风扇-Vue3版

这里写目录标题 前言 一、效果二、代码分享 前言 本片文章主要是做一个小练习,通过Vue来制作一个风扇练习css动画。 上一篇文章主要是讲解了React实现的部分 React实现部分看这里–> 一、效果 二、代码分享 1、主体框架 “sass”: “^1.62.1”, “vue”: “^3…

dvwa靶场通关(四)

第4关:File Inclusion(文件包含) 1.什么是文件包含? 程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,无需再次编写,这种调用文件的过程一般…

1. Flask简介

Web应用程序作用 Web(World Wide Web)诞生最初的目的,是为了利用互联网交流工作文档。 client(客户端)可以是任何联网的设备,能向服务端发送请求。一次请求一个响应,有多少请求就有多少个响应。…

【计算机视觉 | 目标检测】术语理解6:ViT 变种( ViT-H、ViT-L ViT-B)、bbox(边界框)、边界框的绘制(含源代码)

文章目录 一、ViT & ViT变种1.1 ViT的介绍1.2 ViT 的变种 二、bbox(边界框)三、边界框的绘制 一、ViT & ViT变种 1.1 ViT的介绍 ViT,全称为Vision Transformer,是一种基于Transformer架构的视觉处理模型。传统的计算机视…

用cmd实现清理系统垃圾

目录 前言一、cmd是什么?二、食用步骤1.第一版本2.第二版本 总结 前言 在使用计算机的过程中,我们经常会产生很多系统垃圾文件,如果不及时清理可能会影响计算机的性能。本文将介绍如何借助cmd帮助我们清理系统垃圾,提高计算机的运…

vue3-实战-01-管理后台项目初始化和项目配置

目录 1-项目初始化 1.1-环境准备 1.2-项目初始化 2-项目配置 2.1-eslint配置 2.2-配置prettier 2.3-配置stylelint 2.4-配置husky 2.5-配置commitlint 2.6-强制使用pnpm包管理器工具 1-项目初始化 从0开始搭建一个vue3版本的后台管理系统。一个项目要有统一的规范&…

fastjson 1.2.24 反序列化导致任意命令执行漏洞复现

前言 fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,的作用就是把java对象转换为json形式,也可 以用来将json转换为java对象。 fastjson在解析json的过程中,支持使用autoType来实例化某一个具体的类&#xff…

【计算机网络】1.3 ——计算机网络的定义和分类

计算机网络的定义和分类 计算机网络定义 最简单的定义是 一些互相连接的、自治的计算机的集合 互连,指计算机之间可以通过有线或无线的方式进行数据通信自治,是指独立的计算机,它有自己的硬件和软件,可以单独运行使用集合&#…

面试专题:java 多线程(1)----synchronized关键字相关问答

在java 多线程 面试中最多问题1.悲观锁和乐观锁;2.synchronized和lock的区别;3.可重入锁和非可重入锁的区别;4.多线程是解决什么问题的;5.线程池解决什么问题的;6.线程池原理;7.线程池使用注意事项&#xf…

安卓中集成高德地图

安卓中集成高德地图 1.高德地图的优缺点 高德开放平台 | 高德地图API 高德地图优点: 1、领先的地图渲染技术:性能提升10倍,所占空间降低80%,比传统地图软件节省流量超过90% 2、专业在线导航功能&#x…

JVM之类的初始化与类加载机制

类的初始化 clinit 初始化阶段就是执行类构造器方法clinit的过程。此方法不需定义,是javac编译器自动收集类中的所有类变量的赋值动作和静态代码块中的语句合并而来。构造器方法中指令按语句在源文件中出现的顺序执行。clinit不同于类的构造器。(关联:…

C++-stack题型->最小栈,栈的压入与弹出,逆波兰表达式

目录 最小栈 栈的压入与弹出 逆波兰表达式 最小栈 155. 最小栈 - 力扣(Leetcode) 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void …

App 测试流程及资料合集

/1 / 测试理论知识:跟其他 web 等测试一样; /2 / 整体测试流程:同 web 类似 具体差异化见下方内容 /3 / App 独特测试点: 客户端兼容性测试:系统版本、不同深度定制的 rom、屏幕分辨率、中断测试、 安装、卸载、升级、对其他程序的干扰等 需要的一些工具: appnium / lr / …

测试工程师转型开发?还是继续磨练测试技能?

测试五年,没有积累编程脚本能力和自动化经验,找工作时都要求语言能力,自动化框架。 感觉开发同事积累的经历容易找工作。 下一步,想办法转开发岗还是继续测试??? 正常情况下,有了四年…

pdf怎么在线阅读?一键查阅并不难

PDF格式的文件已经成为现代生活中不可或缺的一部分,无论是学术论文、电子书、工作文件还是表格,都有可能以PDF格式出现。然而,为了读取这些文件,我们需要安装PDF阅读器,这在某些情况下可能会带来不便。因此&#xff0c…

如何修复缺失的mfplat.dll文件,多种修复mfplat.dl分享

当你在使用电脑时,突然遇到了缺失了mfplat.dll的错误提示,你可能会感到非常烦恼。不要担心,这是一个常见的问题。在本文中,我们将指导你如何修复缺失的mfplat.dll文件。 一.什么是mfplat.dll MFPLAT.DLL是Microsoft Windows操作系…