使用SpringBoot之前,我们需要了解Maven,并配置国内源(为什么要配置这些,下面会详细介绍),下面我们将创建一个SpringBoot项目"输出Hello World"介绍.
1.环境准备
2.Maven
2.1 什么是Maven
Apache Maven is a software project management and comprehension tool. Based on theconcept of a project object model (POM), Maven can manage a project's build, reporting anddocumentation from a central piece of information.引⽤来⾃: https://maven.apache.org/index.html
翻译过来就是:
2.2 为什么要去学Maven
2.3 创建一个Maven项目
2.4 Maven核心功能
2.4.1 项目构建
ar包和war包都是⼀种压缩⽂件jar包就是把开发⼈员已经写好的⼀些代码进⾏打包. 打好的jar包就可以引⼊到其他项⽬中, 也可以直接使⽤这些jar包中的类和属性. 另外也可以打成可执⾏jar包, 这样的包就可以通过java -jar命令来执⾏.war包可以理解为是⼀个web项⽬,⾥⾯是项⽬的所有东西, 通常⽤于⽹站.
2.4.2 依赖管理
pom.xml 就是maven 的配置⽂件,⽤以描述项⽬的各种信息
依赖配置
< dependencies ><!-- ⾥⾯放置项⽬的依赖坐标 , 可为多个 --></ dependencies >
1.在pom⽂件 <dependencies> 标签内, 添加依赖坐标
< dependency >< groupId >mysql</ groupId >< artifactId >mysql-connector-java</ artifactId >< version >8.0.30</ version ></ dependency >
⽐如我们要吃⽕锅, 需要有锅, 有调料, 有⻝材, 以及确认什么样的锅, 什么样的⻝材.⽐如去医院看病, 需要带上以往的病历, 检查结果, 处⽅等, 并且要确认带的资料是正确的, 如果⽇期错 了, 或者患者错了, 带少了, 就需要回去重新拿.
⽐如吃⽕锅, 现在我们可以点⼀个海底捞外卖, 直接就把所有⻝材都送过来了, 包括什么锅, 配什么菜.⽐如去医院看病, 借助"互联⽹", 实现了信息共享, 只需要带上⾝份证, 以往的病历和检查结果就都可以 看到了.

直接依赖:在当前项⽬中通过依赖配置建⽴的依赖关系间接依赖:被依赖的资源如果依赖其他资源,当前项⽬间接依赖其他资源
依赖排除
排除依赖:指主动断开依赖的资源。(被排除的资源⽆需指定版本)⽐如, 我下了⼀个快递单⼦, 默认会有⼀个服务, 就是快递⼩哥会上⻔取件, 但是我刚好要出⻔, ⽽且顺 路经过站点, 也可以选择⾃⼰送过去
< 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 >
maven还有⼀些功能是依赖调解, 可选依赖等依赖调解:当项⽬中的依赖存在依赖冲突时, 例如 存在这样的依赖:A->B->C->X(1.0)A->D->X(2.0)Maven会采⽤最短路径优先的原则去选择依赖,这⾥2的依赖路径更短,所以会选择X(2.0), 当然我们 也可以选择指定某个依赖的版本当然也可以指定X的版本
2.4.3. Maven Help插件
理解 "插件" (plugin)天⽕ + 擎天柱 => 会⻜的擎天柱.天⽕在牺牲之前把⾃⼰变成了擎天柱的 "⻜⾏插件". 在擎天柱需要起⻜的时候就变成翅膀装在擎天柱⾝上. 不需要起⻜的时候就卸下来放到擎天柱的集装箱⾥.程序开发的时候也经常如此. 像 IDEA 这样的程序虽然功能强⼤, 但是也⽆法⾯⾯俱到. 对于⼀些特殊场景的功能, 开发者就可以开 发⼀些 "插件". 如果需要这个插件, 就单独安装.插件就是对程序的⼀些特定场景, 做出⼀些特定的功能的扩展
2.5 Maven仓库
< dependency >< groupId >mysql</ groupId >< artifactId >mysql-connector-java</ artifactId >< version >8.0.30</ version ></ dependency >
2.5.1 本地仓库
2.5.2 中央仓库
2.5.3 私有服务器
私服是很多⼈在使⽤的, 所以只需要第⼀个使⽤者下载⼀次就可以了
2.6 Maven 设置国内源
2.6.1 配置当前项⽬setting
不同电脑设置的Maven路径不同settings和repository 可以修改设置为其他路径, 两个路径不要有中⽂
2. 配置国内源
<mirror><id>aliyunmaven</id><mirrorOf>central</mirrorOf><name> 阿⾥云公共仓库 </name><url>http://maven.aliyun.com/nexus/content/groups/public/</url></mirror>
如果上述地址不存在settings⽂件, 则直接复制提供的⽂件粘贴过去即可.(可以后台踢我,免费文件)
2.6.2 设置新项⽬的setting
当前项⽬和新项⽬共⽤⼀个setttings⽂件即可, 所以新项⽬的设置, 只需要确认⼀下settings⽂件的路 径即可.
3.第⼀个SpringBoot程序
3.1 Spring Boot介绍
3.2 Spring Boot 项⽬创建
3.2.1 使⽤ Idea 创建
3.2.2 创建网页版(了解)
不适用idea创建我们也可以使用网页版创建,我们要先打开Spring Boot,然后

点击下面的Spring Initltiallzr.

创建完Spring Boot 包后,会在文件里出现zip的包,解压zip后会有:

3.3 项目代码介绍
观察pom文件
3.4 运行项目

第一行黄色是启动类注解.

启动成功如下图所示.
import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class UserController {@RequestMapping("/sayHi")public String sayHi(){return "hello,Spring";}}
3.6 Web服务器
浏览器和服务器进行交互,使用的是http协议.

前面我们已经学习了 HTTP 协议,知道了 HTTP 协议就是 HTTP客户端和 HTTP 服务器之间的交互数据的格式。
Web 服务器就是对HTTP协议进行封装,程序员不需要直接对协议进行操作(自己写代码去解析http协议规则),让Web开发更加便捷,所以Web服务器也被称为WWW服务器,HTTP服务器,主要功能是提供网上信息浏览服务.
常见的Web服务器有:Apache,Nginx,llS,Tomcat,Jboss等SpringBoot 内置了Tomcat服务器,无需配置即可直接运行.
Tocmat默认端口是8080,所以我们程序访问的端口号是8080.
3.7 请求响应流程
浏览器输入URL后,发起请求,就和服务器建立了联系.
浏览器:
输入网址:http://127.0.0.1:8080/hello
通过IP地址127.0.0.1,定位到网络上的一台计算机,,127.0.0.1就是本机.
通过端口号8080,找到计算机上的进程,也就是在本地计算机中找到正在运行的8080端口的程序.
8080端口号在服务器找hello程序,返回给网页.
3.8 访问出错
3.8.1 404
404表示访问的资源不存在,大概率是URL的路径不正确.

注释的地方写错

3.8.2 500
服务器内部出现问题,一般是服务器代码运行中遇到了一些特殊情况(服务器异常崩溃)
GRestControllerpublic class UserController {
@RequestMapping("/sayHi")
public string sayHi(){
int res = 10/0;
return "hello,Spring";
}
}
重启Tocmat服务器,,重新访问,可以看到:

3.8.3 无法访问此网站
一般是Tocmat启动失败了,

这种情况一般是服务未启动,也就是Tocmat未启动.,或者IP/端口写错.
4.总结:
1.Spring Boot 提供了启动添加依赖的功能,可以快速集成框架2.内置web服务器,无需配置 Tomcat等Web服务器,直接运行和部署程序3.可以完全抛弃繁琐的XML,使用注解和配置的方式进行开发4.支持更多的监控的指标,可以更好的了解项目的运行情况等特点Spring Boot 可使用 ldea 或网页创建,它的设计思想是约定大于配置,类上标注@SpringBootApplication 就可以启动 pring Boot 项目了,




















