在现代Web开发中,SpringBoot以其简化的配置和快速的开发效率而受到广大开发者的青睐。本篇文章将带领你从零开始,搭建一个基于SpringBoot的简单Web应用~
一、前提准备
想要创建一个SpringBoot项目,需要做如下准备:
- idea集成开发环境
- 安装并配置好Maven工具(有些idea版本可以用其内置集成的Maven)
- 需求分析:基于SpringBoot的方式开发一个web应用,浏览器发起请求/hello后,给浏览器返回字符串 “Hello World ”
一切准备就绪后,我们就可以打开idea进行SpringBoot项目的创建了!
二、SpringBoot项目创建与运行
- 创建SpringBoot工程项目
- 定义HelloController类,添加方法hello,并添加注解
- 测试运行
2.1 创建SpringBoot工程项目
注意:
- 创建过程需要联网
- 本项目基于idea2023.3.7版本,某些按钮和选项的位置不同版本可能会有区别,但是都大差不差
- 本项目基于idea旗舰版(专业版),社区版创建会更麻烦一点,如果不是旗舰版的,可以移步其他教程
2.1.1 进入idea点击New Project新建一个项目工程
如果没有退回到上述开始界面:
- 可以点击File->Close Project关闭当前项目回到idea开始界面
- 或者点击File->New->Project...直接新建一个项目
2.1.2 点击Spring Initializr创建一个Spring项目骨架。右边的Server URL可能会加载一会儿,如果加载失败试试重新加载。
2.1.3 按照下图完成设置,设置完成后点击Next下一步
2.1.4 这一步我们选择最新默认的SpringBoot稳定版本3.3.4版本。由于当前需要开发一个web项目,我们展开Web,勾选Spring Web,添加web开发相关依赖。完成后点击create创建项目。
2.1.5 正在联网创建中,稍作等待
2.1.6 如果加载完成后仍有报错可以点击刷新重新加载,如果加载完成后仍有报错,可以再稍加等待,可能过1-2分钟后报错就会消失。
加载完成后,一个Spingboot项目的骨架就创建完成啦!
2.2 定义HelloController类
2.2.1 在com.chargeteam这个包下创建一个子包controller
2.2.2 在此包下创建一个HelloController类
2.2.3 添加响应方法hello,并添加注解
HelloController类代码:
package com.chargeteam.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController//将类声明为控制器 public class HelloController { @RequestMapping("/hello")//处理 "/hello" 路径的请求 public String hello() { System.out.println("hello world");//它打印"hello world"到控制台 return "Hello World";//返回字符串"Hello World"作为HTTP响应内容 } }
2.3 测试运行
2.3.1 打开com.chargeteam包下SpringBoot自动生成的引导类
2.3.2 点击运行类中的启动方法
2.3.3 运行窗口如下,而且右侧可以看见该程序网络端口为8080
2.3.4 最后我们打开浏览器,输入网址:http://localhost:8080/hello,HelloController类中的响应方法hello()返回的字符串“HelloWorld”被成功展示到浏览器中。
这说明这个简单的SpringBoot项目被我们成功地创建与运行了!
三、web分析与拓展
3.1localhost:8080/hello
- 意思是向本地计算机中的8080端口程序获取资源位置是/hello的数据
- 8080端口程序在服务器找/hello位置的资源数据发给浏览器
3.2 服务器(计算机)
- 接收到浏览器发送的信息(如:/hello)
- 在服务器上找到/hello的资源
- 把资源发送给浏览器
3.3 网络三要素
IP : 网络中计算机的唯一标识
端口 :计算机中运行程序的唯一标识
协议 :网络中计算机之间交互的规则(http协议)
四、文末
通过本篇文章的讲解,你已经成功搭建了一个简单的SpringBoot项目,并学会了如何使用控制器响应Web请求。这仅仅是SpringBoot的基础应用,后续你可以在此项目基础上扩展更多的功能模块,进一步探索SpringBoot强大的生态体系。