Java EE基础知识点

前言👀~

上一章我们介绍了性能测试工具LoadRunner,今天开启新的篇章Java EE进阶相关的内容

框架

Maven

项目构建

依赖管理

依赖传递

依赖排除

Maven概念

Maven仓库

[Maven 设置国内源](#Maven 设置国内源)

[创建Spring Boot项目](#创建Spring Boot项目)

Web服务器


如果各位对文章的内容感兴趣的话,请点点小赞,关注一手不迷路,讲解的内容我会搭配我的理解用我自己的话去解释如果有什么问题的话,欢迎各位评论纠正 🤞🤞🤞

个人主页:N_0050-CSDN博客

相关专栏:java SE_N_0050的博客-CSDN博客 java数据结构_N_0050的博客-CSDN博客java EE_N_0050的博客-CSDN博客


框架

什么是框架?

框架是一个实现了部分功能的半成品,就类似给你一个毛坯房,你自己装修,装修成你想要的样子。对于程序员来说就是把之前需要写的一些复杂的功能写好并且封装起来了,你只需要调用它提供的接口即可实现一些之前需要花费很⼤功⼒才能实现的功能

Java都有哪些框架?

Spring(Spring是基于servlet的框架)、SpringBoot、Spring MVC、MyBatis等


Maven

什么是Maven?

Maven是⼀个项⽬管理⼯具,通过pom.xml(Maven的配置文件)⽂件的配置获取jar包,⽽不⽤⼿动去添加jar包。可以通过⼀⼩段描述信息来管理项⽬的构建,报告和⽂档的项⽬管理⼯具软件

项目构建

当我们开发了⼀个项⽬之后, 代码需要经过编译, 测试, 打包, 发布等流程, 每次代码的修改, 都需要经过这些流程,就很麻烦。所以Maven提供了⼀套简单的命令来完成项⽬的构建,一般很少用Maven进行打包

什么是打包?

打包就是把所有的class⽂件, 全部放在⼀起, 打成jar包或者war包,jar包和war包两者都是⼀种压缩⽂件

jar包:就是把开发⼈员已经写好的⼀些代码进⾏打包,打好的jar包就可以引⼊到其他项⽬中,也可以直接使⽤这些jar包中的类和属性,另外也可以打成可执⾏jar包, 这样的包就可以通过java -jar命令来执⾏

**war包:**可以理解为是⼀个web项⽬,⾥⾯是项⽬的所有东西,通常⽤于⽹站


依赖管理

之前使用JDBC的时候,都需要手动下载mysql-connector-java的,然后添加到项⽬中。现在我们通过导入依赖,也就是上面提到的通过pom.xml⽂件的配置获取jar包,⽽不⽤手动去添加jar包,依赖指当前项⽬运⾏所需要的jar包.

注意:添加完依赖记得点刷新按钮,这样才会生效!!!


依赖传递

大白话就是你导入的这个依赖,还依赖于其他jar包,它都会给你一起导入,就好比导入一个爹,老婆和孩子也给你跟着一起导入


依赖排除

就是向上面这种依赖关系多了后会很复杂,对于一些重复的依赖我们需要进行排除。就比如一个jar包A依赖于一个jar包C,另外一个项目C也依赖于一个jar包C,两个jar包C的版本不一样而已,所以排除一个这样的依赖对项目运行不会有什么影响。依赖排除,大多使用场景是为了解决冲突

我们可以使用Maven Help插件来观察包和包之间的依赖关系


Maven概念

在Maven中,根据 groupId、artifactId、version 的配置,来唯⼀识别⼀个 jar 包,缺⼀不可

**1.坐标:**导入依赖的代码,根据代码的描述我们可以找到它的位置,称为"坐标"

**2.仓库:**这个Jar包下载的地⽅就称为仓库。当我们导入依赖后,点击刷新Maven会根据坐标,去仓库⾥寻找Jar包,然后下载下来添加到项目中。Maven仓库的本质就是⼀个⽬录(⽂件夹),这个⽬录被⽤来存储开发中所有依赖(jar包, 插件等).

Maven仓库

中央仓库: maven中内置一个远程仓库地址(https://mvnrepository.com/),服务器在国外。我们可以从中央仓库下载Jar包

真正的中央仓库地址: https://repo1.maven.org/maven2/,如果上面的地址中找不到对应的jar包去这个仓库中找,如果也没有那就是没有

**两者的区别:**就好比菜鸟驿站,一个商品到了仓库只是还没登记入库的区别,我们查第一个地址是查不到,但是第二个地址是可以查到

**本地仓库:**就是当我们的项目导入对应依赖jar后,会先从我们的本地仓库中查找本地仓库中是否有对应的jar包,如果有直接用,没有的话去中央仓库中下载对应的jar包到本地仓库

本地仓库地址可以通过Maven配置查看:File -> Settings->搜索Maven

私服: 私有服务器,对于不想公开的一些工具类,使用私服给限定的人使用,所以通常具有一定的权限

流程: 有了私服之后,Maven依赖下载的顺序⼜发⽣了变化,首先还是和之前一样当我们的项目导入对应依赖jar后,会先从我们的本地仓库中查找本地仓库中是否有对应的jar包,如果有直接用,如果没有则先去私服中查找是否有对应的jar包的,有的话直接用,没有的话去中央仓库中下载对应的jar包返回给私服再返回给本地仓库。注意如果使用私服的人从中央仓库中下载对应的jar包后,后续有权限访问私服的其他人都可以从私服中直接下载

Maven 设置国内源

Maven 仓库默认在国外https://mvnrepository.com/,**国内使⽤时会⽐较慢,我们可以更换为阿⾥云的仓库,先访问阿里云的仓库**,如果没有再去访问Maven 仓库,进入企业后,配置公司私服就可以了,不用配置国内源

1.首先找到你maven的安装路径

2.打开conf文件夹,再找到settings.xml,使用记事本打开,只要能编辑就行,修改以下这两个地方即可

配置国内源,有两个地方需要配置:

1.当前项目

2.新项目,这样下次创建项目后就不需要重新再配置了


创建Spring Boot项目

Spring就是一个框架,为了简化开发的一个框架,Spring Boot就是基于Spring的一个框架,为了简化Spring项目而诞生的,可以说是Spring 脚⼿架,就类似盖房⼦的那个架⼦就是脚⼿架

创建spring项目的时候发现这两个属性,就是和maven中依赖的其中两个属性一样,所以我们也可以把自己的jar包上传到中央仓库

目录介绍:

src/main/java:放java源代码

src/main/resources:放静态资源或配置⽂件相关代码其中application.properties是SpringBoot项目的配置文件,非常重要!!!

/static:静态资源⽂件,例如html、css等,不需要服务器数据进⾏绑定的⻚⾯

src/test/java: 放测试代码,这里面放的是开发人员的测试代码与测试人员无关

target: 编译后的⽂件路径

pom.xml: maven 配置⽂件

观察启动日志:

可以发现Spring项目内置了tomcat服务器,直接用就完事了不用配置,Tocmat默认端⼝号是8080,所以我们程序访问时的端⼝号也是8080

Web服务器

浏览器和服务器进行数据交互,使用的是HTTP协议,HTTP协议就是 HTTP 客户端和 HTTP 服务器之间的交互数据的格式

Web 服务器就是对HTTP协议进⾏封装, 程序员不需要直接对协议进⾏操作

常⻅的Web服务器有:Apache,Nginx, IIS, Tomcat, Jboss等

请求响应流程分析:

简单说一下在浏览器输入一个URL,然后通过IP地址找到主机的位置,接着就是根据端口号找到对应的进程,然后获取资源或者提交资源等,接着对端的服务器对请求进行处理后返回数据给客户端,这里我解释的不全面这还会涉及到三次握手建立连接以及四次挥手断开连接

以上便是本章内容都是一些很基础的知识点,EE阶段主要是以练习为主多敲代码,并且现在敲代码不像之前一样出现报错只需要看看代码就能解决的,现在不一样有很多因素干扰,例如环境、配置等等因素,下一章也会讲解如何去定位以及应对程序报错的情况💕

相关推荐
雷神乐乐3 分钟前
Maven学习——创建Maven的Java和Web工程,并运行在Tomcat上
java·maven
码农派大星。6 分钟前
Spring Boot 配置文件
java·spring boot·后端
顾北川_野14 分钟前
Android 手机设备的OEM-unlock解锁 和 adb push文件
android·java
江深竹静,一苇以航16 分钟前
springboot3项目整合Mybatis-plus启动项目报错:Invalid bean definition with name ‘xxxMapper‘
java·spring boot
confiself32 分钟前
大模型系列——LLAMA-O1 复刻代码解读
java·开发语言
Wlq041537 分钟前
J2EE平台
java·java-ee
XiaoLeisj43 分钟前
【JavaEE初阶 — 多线程】Thread类的方法&线程生命周期
java·开发语言·java-ee
阑梦清川1 小时前
JavaEE初阶---网络原理(五)---HTTP协议
网络·http·java-ee
鹿屿二向箔1 小时前
基于SSM(Spring + Spring MVC + MyBatis)框架的汽车租赁共享平台系统
spring·mvc·mybatis
豪宇刘1 小时前
SpringBoot+Shiro权限管理
java·spring boot·spring