一 Springboot简介
在学习Springboot之前我们需要简单了解Springboot是什么?
Springboot是一个集合了Spring技术栈的大整合 ,是一个简化了Spring应用开发的框架,可以一站式解决J2EE的开发流程。
Spring所具有的优点
1.创建迅速: Springboot可以快速创建Spring及其他主流框架的项目。
2.无代码生产和xml配置:Springboot提倡使用注释和java配置来代替 XML 配置,减少了模板代码的生成。
3.依赖管理:通过 pom.xml
或 build.gradle
文件中的 parent
标签可以管理项目依赖,简化了依赖版本管理。
4.独立运行:Spring Boot 应用可以打包成一个独立的 JAR 文件,无需部署 WAR 文件到 Servlet 容器。
在简单认识Springboot后现在我们开始正式的学习
二 项目创建
在ide中我们可以十分方便的创建一个Springboot项目
我把新建项目分成了六步,如下图所示:
第一步:我们先进入ide的新建项目界面,在生成器处选择Springboot。
第二步:我们需要在编译语言处选择java
第三步:类型选择Maven
第四步:选择合适的jdk和sdk然后点击下一步进入依赖选项。
第五步:我们在框架依赖处选择自己需要的依赖,本次学习主要学习web内容固此次只选择Spring Web ,大家可以根据自己的需求选择需要的框架
第六步:点击创建我们就可以成功创建一个Springboot项目,如图所示。
三 认识Springboot项目结构
下面我会用对应颜色的字体来解释各个框中的作用
1. (.idea)是idea项目配置文件
2 (.mvn)是Maven的配置文件
3. (src)是源代码的相关目录
4. (main)是功能代码目录
5. (.java)是java代码目录
6. (DemoApplication)是代码的主程序
7. (resources)是资源文件目录
8. (application.properties)是java项目配置文件
9. (test)是测试代码目录 ps:此目录的结构跟项目目录类似
10. (.gitignore)是Git的忽略文件
11.(pro.xml)是Maven管理Java项目配置文件
四 hello controller的初次实现
1.了解controller组件
在Springboot中controller是一个十分重要的组件它负责处理用户的HTTP请求,并返回相应的响应。
controller组件的知识点
1.定义controller
在Spring Boot中,可以通过在类上添加@RestController
或@Controller
注解来定义一个Controller.
@RestController
是@Controller
和@ResponseBody
的组合,表示该类中的所有方法都会自动将返回值作为HTTP响应体返回。
@Controller
则需要在需要返回响应体的方法上添加@ResponseBody
注解。
2.处理请求
controller使用@RequestMapping
或其特定的HTTP动作映射注解(如@GetMapping
、@PostMapping
、@PutMapping
、@DeleteMapping
等)来映射HTTP请求到对应的处理方法,并且可以通过在方法参数上添加@RequestParam
、@PathVariable
、@RequestBody
等注解来接收请求参数。
3.返回相应
在controller中即可以直接返回一个对象,Spring Boot会自动将其转换为JSON或XML格式的响应体,也可以返回ResponseEntity
对象,这样可以更细粒度地控制响应状态码、响应头等。
ps:这里只列举以上三点其余知识点会在后面的学习中进行补充。
3.
2.创建文件
我们首先在java包里的com.example.demo软件包中创建一个新的软件包test,再在test软件包中创建一个java类hello_controller
3.代码实现
在hello_controller中添加下面的示例代码
package com.example.test1.controller;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
@RestController
public class HelloController {
@GetMapping("/Hello")
public String Hello() {
return "Hello World"+nameAges.toString();
}
private static HashMap<String,Integer> nameAges=new HashMap<>();
@PostMapping("/Hello")
public String helloPost(String name,int age) {
nameAges.put(name,age);
return "Hello "+name+", age= "+age;
}
@PutMapping("/Hello")
public String helloPut(String name,int age) {
nameAges.replace(name,age);
return "update name "+name+", age= "+age;
}
@DeleteMapping("/hello/{name}")
public String HelloDelete(@PathVariable String name){
nameAges.remove(name);
return "delete name "+name;
}
}
@restController注释表示该类是一个处理器能够处理http请求并返回json数据。在此示例代码中我先用@GetMapping注释将该web的api路径设置为/Hello。后续测试代码中我们需要前往前往http://localhost:端口名/路径。来检测我们的web是否成功生成。下面新建一个静态的哈希表用于存储名字和年龄的关系。下面三个@PostMapping、@PutMapping、@DeleteMapping注释用于处理不同的http请求。其中helloPost和helloPut两个方法的作用都是向请求体Hello中推送数据,但是post更倾向于创建数据,而put则是更倾向于更新数据。HelloDelete方法则是对Hello请求体进行数据删除作用。
4.代码测试
在本次测试中我们会用到两个软件,一个是ide,一个是postman。
首先我们需要对该代码在ide中进行构建。我们需要在ide的顶部工具栏中找到构建并运行构建项目功能。构建完成后会在com.example.test1中创建一个Test1Application文件。
然后我们运行该文件
这是运行成功后的截图,其中倒数第二行中Tomcat started on port 8080 (http) with context path '/'这句话表示我们的web地址为Http://localhost:8080端口/Hello,接下来我们前往游览器输入web地址就可以成功看到我们写的运行结果。
当然我们也可以使用postman进行测试。我们打开postman新建一个http响应测试,在get中填入自己的web地址点击send就可以在下面看到信息。
这代表我们的web成功运行,接下来我们需要在postman中测试post、put、delete这三个功能。首先我们先选中post在下面Params中填入类名和属性值再点击send就可以将数据传送给Hello请求体。运行结果如下图所示
这表明程序已经将名为“mochi1577”和年龄为20的值传递给Hello,这时候我们返回get请求就会在输出中看到我们输入的值。
然后我们在运行put方法,在下面操作中我把mochi1577值修改为了mochi1566,把age 20改为了21运行后结果如下图
接下来我们最后测试delete方法,我们选中delete并填好我们需要删除的值然后点击send即可删除,下面是实现画面
这样就成功执行了删除操作。至此测试全部完成。
五 总结
在Springboot中的controller组件中,通过本此学习,掌握了其中的一些注释作用以及如何进行网页数据的增删改查和如何测试检查自己的代码是否出现问题,但是在controller组件中还有很多功能并没有学习,这可能就是认识尚未完整,学习还需努力吧。