Maven
什么是maven
Maven简单的理解就是一个项目管理工具,使用pom.xml文件进行管理和获取.jar包,而不用手动进行添加.jar包。
创建maven项目以及使用
Maven的功能非常多,这里主要理解Maven的项目创建和依赖管理。
项目创建:
maven本身是一个独立的软件,但是idea本身就将Maven集成于自身,所以我们无需安装,只要在idea的项目创建时选择Maven选项即可。
Maven提供了跨平台的自动化项目构建,在我们开发一个项目后需要进行编译,测试,打包等流程,但是当我们修改了之后就要重新进行上述流程,Maven就提供了一些标准化的简单命令来完成上面的流程。
以Maven中的package命令而言,这个命令可以直接将当前的项目进行打包,我们就会得到的当前项目的包.jar包,打包时同时也会将package上面的命令一起执行。
依赖管理
上面的Maven通过pom.xml进行获取.jar包,而不用手动添加,其实就是依赖。
例如在JDBC中我们要手动添加.jar包到项目中,但是在Maven中我们就只需要在pom.xml文件中添加mysql-connector-java的依赖就行了,在<dependencies>中添加依赖的坐标就可以将这个包引入项目中了,同时刷新之后就会看到我们导入的.jar包了。
依赖传递
包和包之间也有依赖性,例如A包要依赖B包,B依赖C,如果不使用Maven时,此时就需要进行手动添加这三个包,但是使用Maven就可以解决这个问题,maven会根据包间的依赖性,将所依赖的包都添加到项目中,减少项目导包时出现的错误。
依赖排除
当A包依赖B1包,C包依赖B2包,B1和B2是相同的包只是包的版本不同,此时Maven就会根据路径优先的方式,看看那个版本到达的路径更短,来进行选择。这样的方式就是依赖排除。
maven导入包的方式
通过几行代码,就可以将包导入到项目中,Maven是通过到中央仓库中寻找的。
这几行代码,我们称之为坐标,我们可以通过引入坐标,Maven就会到“仓库”中去寻找对应的.jar包,下载到我们的项目中。
本地仓库和远程仓库
本地仓库其实通俗的讲就是我们电脑上的一个目录,引入坐标后Maven就会去本地仓库中寻找对应的.jar包,当没有时就会去远程仓库中寻找。
远程仓库
远程仓库中包含了:中央仓库,私人仓库,公共源。
中央仓库是maven中内置的一个仓库,全球统一唯一,我们引入地址在本地仓库没有的情况下就会去这上面进行查找。
公共源是国内的一些公司将Maven仓库镜像,因为Maven仓库一般在国外,访问速度较慢,所以我们可以把Maven的默认的仓库,修改为国内源。
SpringBoot
对于官方的说法,spring可以让Java开发变得更加简单快速,spring官方推出了很多项目,但是这些项目存在配置多,上手难的问题,于是spring就推出了SpringBoot,它是为了简化Spring开发的。
当我们创建了SpringBoot项目之时,springboot是集成了maven的,要选择maven进行创建,这样在项目加载时会引进我们开发springboot的所需要的包。
父工程
在pom文件中的测试单元常见的依赖,它没有指定版本号,但是我们在本地仓库中也是能找到,这是因为每个SpringBoot中有一个父工程,依赖的版本号都在它那里保存,⽗⼯程指定版本号后, 就会⾃动引⼊和所指定版本对应的依赖, 创建的SpringBoot项⽬, 会继承SpringBoot⽗⼯程。
SpringBoot项目目录
src/main/java: Java 源代码
src/main/resources: 为静态资源或配置⽂件
src/test/java: 测试代码源代码
target: 编译后的⽂件路径
使用SpringBoot进行与浏览器进行交互
在浏览器中输入http://127.0.0.1:8080/nihao/hello,这样就可以访问到我们写的后端服务器了。
Web服务器
请求响应分析
浏览器输⼊URL之后, 发起请求, 就和服务器之间建⽴了连接。
浏览器: