当前位置:   article > 正文

javaEE -----Spring Boot

javaEE -----Spring Boot

一、什么是javaEE

JavaEE主要是学习对各种框架的学习, 以及如何把这些框架应⽤在企业中, 来实现⼀些web开发

1. 什么是框架

框架将产品的共性提取出来,是一个实现了部分功能的半成品,之后我们可以将这个半成本自主进行装修,成为“成品”

2. 主要学习什么

  1. 共涉及4个框架的学习: Spring, Spring Boot, Spring MVC,Mybatis
  2. 其中Spring, SpringBoot, Spring MVC 可以看做是⼀家⼈, 属于Spring 家族的产品
  3. Mybatis 是⼀个持久层框架, 主要是⽤来帮助我们更好的操作数据库

二、Maven

1. 什么是Maven

Maven是⼀个项⽬管理⼯具, 通过pom.xml⽂件的配置获取jar包,⽽不⽤⼿动去添加jar包

pom.xml⽂件就是 maven 的配置⽂件,⽤以描述项⽬的各种信息

  • Maven 的主要功能
    • 项目构建
    • 管理依赖

2. 如何创建一个Maven项目

IDEA本⾝已经集成了Maven, 我们可以直接使⽤, ⽆需安装,File -> New -> Project

3. 功能:项目构建

提供了一系列相当于快捷键的命令,当进行修改操作后,不需要走完所有流程

打包就是把所有的class⽂件, 全部放在⼀起, 打成jar包或者war包
(1)jar包和war包都是⼀种压缩⽂件
(2)jar包就是把开发⼈员已经写好的⼀些代码进⾏打包. 打好的jar包就可以引⼊到其他项⽬中, 也可以直接使⽤这些jar包中的类和属性. 另外也可以打成可执⾏jar包, 这样的包就可以通过java -jar命令来执⾏
(3)war包可以理解为是⼀个web项⽬,⾥⾯是项⽬的所有东西, 通常⽤于⽹站

4. 功能:管理依赖

依赖:指当前项⽬运⾏所需要的jar包

(1) 依赖配置

使用JDBC时, 我们需要⼿动下载mysql-connector-java的包.并且添加到项⽬中

如果使⽤Maven, 我们只需要在pom.xml中引⼊mysql-connector-java的依赖就可以了

<dependencies>
 <!--⾥⾯放置项⽬的依赖坐标, 可为多个 -->
</dependencies>
  • 1
  • 2
  • 3
  1. 在pom⽂件 标签内, 添加依赖坐标
<dependency>
	 <groupId>mysql</groupId>
	 <artifactId>mysql-connector-java</artifactId>
	 <version>8.0.30</version>
 </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  1. 点击刷新按钮, 引⼊新加⼊的依赖jar包
  2. 刷新完之后, 就可以在项⽬中看到新加⼊的jar包

在这里插入图片描述

(2) 依赖传递
早期没有使用Maven时,如果A依赖B,B依赖C,那么A项目引⼊B 的同时, 也需要引⼊C如果我们⼿动管理这个依赖, 这个过程就会⽐较⿇烦, 我们需要知道每个库都依赖哪些库, 以及这些依赖之间的版本是如何关联的

但使⽤maven的话, 就可以避免管理所需依赖的关系。我们只需要在pom⽂件中, 定义直接依赖就可以了, 由于maven的依赖具有传递性,所以会⾃动把所依赖的其他jar包也⼀起导⼊

此时也把依赖分为【直接依赖(儿子依赖爸爸)】和【间接依赖(孙子依赖爷爷)】

(3) 排除依赖

排除依赖:主动断掉某些不怎么需要的依赖(被排除的资源⽆需指定版本)

<dependency>
	 <groupId>org.springframework</groupId>
	 <artifactId>spring-core</artifactId>
	 <version>6.0.6</version>
	 <!--排除依赖-->
	 <exclusions>
		 <exclusion>
			 <artifactId>spring-jcl</artifactId>
			 <groupId>org.springframework</groupId>
		 </exclusion>
	 </exclusions>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

(4) 依赖调解

当项目中的依赖存在冲突时,如A->B->C->X(1.0),A->D->X(2.0)

Maven会采⽤最短路径优先的原则去选择依赖,这⾥2的依赖路径更短,所以会选择X(2.0), 当然我们也可以选择指定某个依赖的版本

当然也可以指定X的版本

5.所需插件

(1) Maven Help

作用:观察包和包之间的依赖关系
安装:安装插件: File -> Settings ->Plugins -> 搜索’Maven Help’ -> 找到对应插件, 点击Install 安装即可, 安装后需要重启下idea, 才能⽣效

6.Maven 仓库

(1) 概述

在Maven中, 根据 groupId、artifactId、version(三者合起来叫【坐标】) 的配置, 来唯⼀识别⼀个 jar 包, 缺⼀不可

当我们在pom⽂件中配置完依赖之后, 点击刷新, Maven会根据坐标的配置, 去仓库⾥寻找Jar包, 并把他下载下来, 添加到项⽬中. 这个Jar包下载的地⽅就称为仓库

(1)仓库:⽤于存储资源,管理各种jar包
(2)Maven仓库的本质就是⼀个⽬录(⽂件夹),这个⽬录被⽤来存储开发中所有依赖(jar包, 插件等)

(2)本地仓库

本地仓库: ⾃⼰计算机上的⼀个⽬录(⽤来存储jar包)
当项⽬中引⼊对应依赖jar包后,⾸先会查找本地仓库中是否有对应的jar包

  • 如果有,则在项⽬直接引⽤
  • 如果没有,则去中央仓库中下载对应的jar包到本地仓库

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

在这里插入图片描述

修改仓库地址
选override,copy原文件地址到想要的地方,然后修改

(3)中央仓库

中央仓库: maven 软件中内置⼀个远程仓库地址,就是中央仓库,服务于整个互联⽹. 由 Maven 团队维护,全球唯⼀

  • 仓库地址:https://repo1.maven.org/maven2/
  • 可以通过https://mvnrepository.com 这个⽹站来查询并下载

我们可以把⾃⼰写好的Jar包上传到中央仓库(具备⼀定的要求), 也可以从中央仓库下载Jar包

查找Jar的坐标

  1. 访问 https://mvnrepository.com/
  2. 进⾏查找, ⽐如mysq
  3. 选择要添加的Jar包版本
  4. 查看Jar包对应坐标

(4)私服

私服: ⼀般由公司团队搭建的私有仓库,属于某个公司/部门,需要一定的权限才能进入

有了私服之后, Maven依赖下载的顺序⼜发⽣了变化

当Maven需要下载资源的时候

优先级:本地仓库 — 私服 — 中央仓库
如果最后中央仓库里资源不存在,会报错。如果存在,就先缓存在私服上之后,再缓存到本地仓库⾥, 再为Maven的下载请求提供服务

私服是很多⼈在使⽤的, 所以只需要第⼀个使⽤者下载⼀次就可以了

(5)Maven 设置国内源

因为中央仓库在国外, 所以下载起来会⽐较慢, 所以咱们选择借助国内⼀些公开的远程仓库来下载资源

也就相当于在私服和中央仓库之间,再加入了一个国内源

配置国内源需要两个方面

  1. 当前项目
  2. 新项目

三、Spring boot

1.介绍

Spring Boot是基于Spring Framework来进行开发的, 但是Spring Framework存在配置多, 入门难的问题, 为了简化开发者的使用, SpringBoot就诞生了

Spring Boot 就是 Spring 框架的脚手架,可以快速开发 Spring 框架

2.Spring Boot 项目创建

  1. 安装Spring Boot Help插件
  2. 项目创建
    在这里插入图片描述
    在这里插入图片描述

(1)SpringBoot版本 , 选择任意2.X的,不带snapshot的(通过代表的是不稳定版本) 这个版本会随着SpringBoot的升级而发生变化, 不固定,3.X版本使⽤的是jdk17
(2)打勾表示创建项目之初, 就引入的第三方依赖(框架, 插件, 组件等…后面再细讲)
(3)所有引用的第三方框架

注意

  • 第⼀次打开 Spring Boot 项⽬需要加载很久,因为当前 Spring Boot 框架并没有在⾃⼰的本地仓库
  • 为了加速 Spring Boot 项⽬的下载,在打开项⽬之前,请先确认⾃⼰的 Maven 已经配置为国内源

在这里插入图片描述
社区版本需要手动把relase去掉,版本只要是2.X就行

3. 项目代码介绍

(1)pom 文件

pom.xml文件里的具体信息, 不需要过度关注, 我们主要看< dependencies>标签里面的内容

pom件中, 引⼊了两个依赖

  • spring-boot-starter-web:包含了web应用开发所需要的常见依赖
  • spring-boot-starter-test:包含了单元测试所需要的常见依赖

在这里插入图片描述

(2)父工程

每⼀个SpringBoot⼯程,都有⼀个父工程依赖的版本号

⽗⼯程指定版本号后, 就会⾃动引⼊和所指定版本对应的依赖, 创建的SpringBoot项⽬, 会继承SpringBoot父工程

所以没有指定版本的子工程也可以正常运行

在这里插入图片描述

4. 目录介绍

在这里插入图片描述

在这里插入图片描述
注意事项:文件夹的颜色不能搞错

如何设置:

方法一:右键文件夹 ---- Mark Directory as — 自主选择
在这里插入图片描述

方法二:File — Project Structure — Modules

在这里插入图片描述
在这里插入图片描述

四、第一个Spring Boot 项目

Spring Boot可以帮助我们与浏览器进行交互

(1)请求响应分析

Tocmat默认端口号是8080, 所以我们程序访问时的端口号也是8080

浏览器输入url,进行请求,而请求的对象路径 -----> 计算机 ----> 端口号 ----> 具体的方法路径

而请求是发送给服务器的, 服务器根据浏览器传来的请求(是哪个端口号,那个方法),进行响应,即返回到浏览器界面上

SpringBoot 内置了Tomcat服务器(一个web服务器), 无需配置即可直接运行

Tomcat 对上,联系浏览器,主要就是根据浏览器的请求,返回数据,对下,就是处理客户端的HTTP请求,而HTTP协议还是主要负责客户端和服务器这边的通信,起到制定规则的作用

2. 代码

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

@RestController     
public class UserController {
 @RequestMapping("/sayHi")
 	public String sayHi(){
 		return "hello,Spring";
 	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • @RestController 路由映射,可以让浏览器连接程序,提供类上注解
    • 路由映射:浏览器输入url后,将请求对应到应用程序中某个类的某个方法
    • 虽然@RequestMapping 已经命名了,但是只有@RequestController后,Spring才会去看这个类⾥⾯的⽅法有没有加 @RequestMapping
  • @RequestMapping 可以修饰方法,也可以修饰类
    • 相当于建了一个门牌号码,创建了一个方法路径
    • 访问地址:类的路径 + 方法路径,如果类上注解没有,直接访问方法路径
    • 推荐写法
      (1)/ 可以省略,建议企业开发时,统一加上,前加后不加
      (2)开发中,建议加上类路径,可以避免重复,以及方便寻找代码
  • 方法名,没必要和方法路径一样。但是因为取名字太难,一般还是搞成一样的
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/87861
推荐阅读
相关标签
  

闽ICP备14008679号