1.创建Spring Boot项目
- 打开IDEA,Create New Project,在"New Project"界面中,左侧选择Spring Initializr,右侧使用之前默认设置好的JDK,在 Choose Initializr Service URL选择初始化服务地址,如图:
- 主机需要在联网状态下,没有联网会出现如图提示
注意:由于我们使用的是spring官网搭建的脚手架,有时候可能可以上网也会出现搭建失败的题是(首先确定自己的网络是可以用的,确定后可使用国内网站构建,如使用阿里巴巴的网站也是可以搭建的)
https://start.aliyun.com/如下图:
-
联网状态下,在下一界面设计Group和Actifact,如图,本例设置为com.itheima和chapter01,package删到内容只剩包名(这样做的原因是启动器只能扫描于其包以及子孙的内容,不这样删,后面需要自己手动移动,这样做,创建后的目录再下文
) -
单击next进入Spring Boot场景依赖选择界面,这里选择web开发场景下的spring web依赖再单击Next,如图:
-
注:如果next是不可选状态,确定内容是否填完整,再检查是否Package或是其他地方后面有空格导致。
关于上图
1)页面顶部的中间位置可以选择Spring Boot版本,默认显示 的是最新稳定片本,如果 要自定义项目版本号,则需要进入项目的pom.xml文件,在对应依赖的标签中指定版本号。
2)页面左侧汇总了开发场景,每一个开发场景下会包含多种技术实现方案,同时提供多种集成的模块依赖。
3)页面中侧展示已选择的依赖模块
4)页面右侧展示已的依赖模块,后续创建的spring boot 项目中会自动导入这些依赖。
- 完成项目名和路径的填写,按Finish即可完成项目创建。
项目会默认生成项目启动类、存放前端静态资源和页面的文件夹,编写项目配置的配置文件以及项目上音元测试的测试类。
创建好的Spring Boot项目目录结构 如图所示。
查看项目依赖管理文件pom.xml,除了有自动配置项目时选择的web模块依赖外,还自动生与了测试类依赖spring-boot-starter-test、Maven打包插件spring-boot-maven-plugin以及其他一些通用默认配置信息
查看项目主程序启动类,可看到已自动生成了主程序户口动类和main()方法代码。
2.编写第一个springboot的web项目(访问网页,显示hello springboot)
2.1 创建一个用于web访问的Controller
- 在com.itheima包下创建名称为controller的包,在该包下创建一个请求处理控制类HelloController,并编写一个请求处理方法,代码如下:
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "hello Spring Boot";
}
}
说明,这里没有导入class,两行注解RestController和GetMapping会提示错误,使用ALT+Enter 导包后,在类上面会自动添加下两行:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
完整代码如下,有问题可对照检查:
package com.itheima.chapter01.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "hello Spring Boot";
}
}
2.2运行项目的主程序启动类Chapter01application
项目运行成功后,浏览器上访问http://localhost:8080/hello 如图所示:
启动按钮在启动器类和idea上面的功能栏处都有!!
此案例是在此前学校阶段已经练习过,现在用于复习使用,也供初学者学习,本文参考博客:https://blog.csdn.net/qq_26665293/article/details/104416267
本文同时补充了一些细节,以及问题的解决方法。