运行本篇中的代码:idea专业版或者idea社区版本(2021.1~2022.1.4)->这个版本主要是匹配插件spring boot Helper的免费版(衰)
【SSM-Day2】第一个SpringBoot项目
- 框架->Spring家族框架
- 快速上手Spring Boot
- Spring Boot的作用
- 通过idea创建Spring Boot项目
- 项目目录
- 项目启动
- web程序:hello world
- 再谈对Sping Boot的理解
- 项目的JDK版本取决于通过什么运行项目
框架->Spring家族框架
什么是框架?一些大佬把一些复杂的功能写好以后,进行封装,并且提供相应API。个人或者团队在进行开发工作的时候,只需要调用对应API就可以在自己的项目中实现对应功能。大佬完成的框架通常简单又高效,利用框架进行开发能极大提高开发效率。
在一个网站项目中,特别是BS架构下的项目中,常用的框架是Spring家族框架(可简称Spring)。
Spring是一类 快,简单,安全的Java框架。进入Spring官方网站https://spring.io/后,可以见到Spring家族框架里有很多的框架成员,例如Spring Framework,Spring Boot,Spring MVC,SpringCloud等。
快速上手Spring Boot
Spring Boot的作用
在依赖spring家族框架开发项目的时候,Spring Boot的作用是简化spring程序开发。接下来一边用它一边体会它究竟是什么吧!好像有点听君一席话如听一席话的感觉…就是说先用再总结喽~~
通过idea创建Spring Boot项目
社区版idea在创建Spring Boot项目前要先安装插件spring boot Helper,专业版已经集成了这个插件,不用安装。
插件spring boot Helper目前在官网已经找不到免费版本了,我的解决办法是问同学要了份免费版本的压缩包存到本地后然后直接安装了,这个压缩包是免费的,所以它的缺点是只和2021.1~2022.1.4版的idea兼容(衰)。
安装下载在本地的插件步骤如下:
(ps:settings弹窗的ok别忘了点)。最后重启idea,查看已安装插件,插件的名字从spring boot Helper变成了SpringInitializrandAssistant,(ps:不要点updata,要不然免费版就变成收费版了,收费版只能用30天):打开新建项目页面,能看到spring initializr选项,说明这个插件就安装成功了。
接下来就借助插件,开始创建Spring Boot项目。
联网状态下(ps:下图页面来自于sping官网)进入下面这个页面:
点击next后进入下面页面:
点击Create,一个SpringBoot项⽬的创建进行至80%。
项目创建过程中,我们引入了spring依赖。但是在项目创建之初,本地并没有springboot的本地仓库,所以项目创建后还需要用maven导入依赖:
点击页面右下角load maven project,作为maven项目去加载这个项目,maven就会自动生成一些配置项,然后自动去中央仓库下载依赖。
以上操作时,一些可能会遇到的小问题:
- 如果右下角没有load maven project,
先检查项目页面最右侧栏是否有maven,有,直接点击刷新加载项目。
没有,鼠标右键->Add Framework Support->选择maven->点击ok。
- 在用maven导依赖的过程中,社区版的idea可能会存在以下两个bug:
中央仓库中有的是下面这个依赖,即删掉.RELEASE,导入如下依赖。
>3. 还有一个bug是:
由于这个依赖目前用不上,如果一直下载不下来,可直接把这段依赖坐标删除。删除之后点击刷新。
至此,默认的依赖导入完成,项目没有报错,一个SpringBoot项⽬被成功创建。
还可以通过其他方法创建SpringBoot项⽬,比如通过Spring官方创建、阿里云创建、不基于任何页面,插件进行创建(创建空的maven 项目,自己写依赖,启动类,目录)、利用已存在的SpringBoot项⽬,cv后修改项目名字,内容等。
项目目录
读别人的代码,只需要以上目录中的三个文件:src;.gitignore;pom.xml。
项目启动
web程序:hello world
web程序是基于http协议进行交互的。在web程序中,idea中的Spring boot项目是服务器端,浏览器是客户端 。 -> 通过在浏览器输入地址,就能访问到idea中的项目。
web服务器(又称WWW服务器)就是对http协议进行封装,程序员不需要直接对协议进行操作->程序员不需要自己写代码去解析http规则,显然这使得web开发更加便捷。常见的web服务器有Apache,Nginx,IIS,Tomcat,Jboss等。
Spring boot集成了tomcat服务器。tomcat的默认端口号是8080,所以我们访问Spring boot程序时的端口号也是8080。
例如在下面这个web程序中:
浏览器端:输⼊⽹址:http://127.0.0.1:8080/hello
- 通过IP地址127.0.0.1定位到⽹络上的⼀台计机,127.0.0.1就是本机
- 通过端⼝号8080找到计算机上对应的进程,也就是在本地计算机中找到正在运⾏的8080端⼝的程序
- /hello是请求资源位置
- 资源:对计算机⽽⾔资源就是数据
- web资源:通过⽹络可以访问到的资源(通常是指存放在服务器上的数据)
http://127.0.0.1:8080/hello,就是向本地计算机中的8080端⼝程序,获取资源位置是/hello的数据;然后8080端⼝程序在服务器找/hello位置的资源数据后,再发给浏览器。
服务端:接收到浏览器发送的信息(如:/hello),在服务器上找到/hello的资源,把资源发送给浏览器。
下面总结一些 浏览器访问服务器失败 的原因:
- 服务器根本没启动:
- 服务器启动了,但还是没有访问到资源,此时可以根据页面反馈的http状态码寻找出错原因。
再谈对Sping Boot的理解
目前为止,在一个网站项目中,Sping Boot框架都帮我们做了什么->是如何简化spring程序开发的?
- SpringBoot提供了启动添加依赖的功能,可以快速集成框架。
- SpringBoot内置web服务器,⽆需配置Tomcat等Web服务器,直接运⾏和部署程序。
- SpringBoot使⽤注解和配置的⽅式进⾏开发,比如类上标注@SpringBootApplication就可以启动SpringBoot项⽬了。
项目的JDK版本取决于通过什么运行项目
通过cmd运行项目,项目的jdk版本需要能被本机设置的环境变量兼容;通过idea运行项目,项目的jdk版本,需要能被idea中针对该项目的jdk版本兼容。
idea中针对该项目的jdk版本:
file->project structure
file->settings
pom.xml文件中: