(一)Maven
Maven是一个项目管理工具,通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具
(可以通过pom.xml文件的配置来获取jar包,而不用手动添加)
Maven可以提高我们的开发效率减少bug,它可以帮助我们构建项目并且进行依赖管理
1.项目构建
当我们开发了⼀个项⽬之后,代码需要经过编译,测试,打包,发布等流程,每次代码的修改,都需要经过 这些流程,如果代码反复调试修改,这个流程就需要反复进⾏,就显得特别⿇烦,,⽽Maven给我们提供了 ⼀套简单的命令来完成项⽬的构建.
2.依赖管理
我们可以通过pom.xml文件的配置获取jar包,不需要手动添加jar包获取的jar包就是依赖
依赖传递:
起初我们没有maven时,需要手动向项目中添加依赖的jar包,但是这个过程可能会涉及到依赖的传递,⽐如A依赖B,B依赖C,那么A项⽬引⼊B的同时,也需要引⼊C,如果我们⼿动管理这个依赖,这个过程 就会⽐较⿇烦,我们需要知道每个库都依赖哪些库,以及这些依赖之间的版本是如何关联的
但是如果我们使用maven就可以避免管理所用的依赖管理,我们只需要再pom中直接写入依赖,maven就会把他依赖的jar包自动写入。
如图,如果我们引入jarA就会自动帮我们引入jarB和jarC
依赖排除:
那如果上述项目中不需要jarB了,也可以通过排除依赖的方式实现
3.Maven仓库
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
这个代码,我们称为坐标,是唯一的,通过groupId、artifactId、version的配置我们来确定一个唯一的jar包,在我们在pom文件配置完依赖后,点击刷新,我们会根据坐标配置,并从仓库寻找jar包,那这个jar包下载的地方就叫做仓库,上述代码就是仓库的坐标
Maven仓库分为两大类:本地仓库和远程仓库,远程仓库又分为中央仓库,私服和其他公共库,上述就是中央仓库的截图。
本地仓库:自己计算机中储存jar包的一个目录
在我们项目中引入对应jar包后,我们会先从本地仓库寻找,如果有,就直接引用,如果没有,我们再从中央仓库中下载对应的jar包到本地仓库,再通过本地仓库进行引用
我们
我们可以在这里更改本地仓库的地址
中央仓库:Maven软件中内置的远程仓库地址
https://mvnrepository.com/这就是我们maven的中央仓库
我们也可以将自己的jar包分享到中央仓库(需要审核)
私服:一般由公司搭建的私有仓库
私服一般需要一定的权限,当我们引入私服后,我们Maven依赖的下载顺序又会发生变化
我们会再本地仓库寻找后,找不到后会先从私服中寻找,如果私服中没有,再去中央仓库寻找,中央仓库寻找到后,我们会先缓存到私服上,再缓存到本地仓库中
(二)SpringBoot
1.spring
简单说就是一个java框架,可以使我们的程序更加快速,简单,安全Spring官⽅提供了很多开源的项⽬,覆盖范围从Web开发到⼤数据,Spring发展到了今天,已经形成了⾃⼰的⽣态圈.我们在开发时,也倾向于使⽤Spring官⽅提供的技术,来解决对应的问题.
2.springboot
springboot就是spring的脚手架帮我们更加快速的搭建spring框架
3.springboot项目创建
我们在这里勾选了spring web这里面包含了web应用开发所需要的常见依赖
我们来看下创建好之后的目录
1.src/main/java:这里面通常放我们的源代码
2.src/main/resource:这里为静态资源或者配置文件
3.src/test/java:这里面为测试的源代码
4.target:编译后的文件路径
5.pom.xml:maven的配置文件
这样就代表我们启动成功了
4.输出“hello word”
又到了我们喜闻乐见的环节了
@RestController
public class RestCtrolloer {
@RequestMapping("/HELLO")
public String say(){
return "hello word";
}
}
之前我们学习了http协议,知道了HTTP协议就是http客户端和服务器之间交互数据的格式,web都武器就是对http协议进行封装,让web开发更加迅速,常见的有Apache,Nginx,IIS,Tomcat,Jboss等
我们springboot内置了Tomcat服务器,不用配置就可以直接运行(Tomcat的默认端口号为8080)
那上述代码中的@RequestMapping(“/HELLO”)就对应了我们url中/后面的路径,也就是请求资源的位置 ,具体操作会在下一篇博客中详细说明