Spring Boot【官网介绍】-- 001

Introduction

TODO: Spring Boot简化Java企业级开发

特征

  • 创建独立的Spring App
  • 内嵌Tomcat、Jetty、Undertow(无需部署任何WAR文件)
  • 提供启动配置依赖项,简化构建配置
  • 自动配置Spring和第三方依赖库
  • 可用于生产的功能,eg: 指标、运行状况检查和外部化配置
  • 没有任何代码生成,不需要XML配置

第一个HelloWorld

构建RESTful Web服务

构建一个接收HTTP GET请求的服务,以JSON形式来响应用户的请求

{"id":1,"content":"Hello, World!"} // 此时响应默认不带参数的默认请求

在查询字符串中使用可选参数来定义
name的参数将覆盖的默认值World并如下进行响应:

{"id":1,"content":"Hello, User!"}
  • 创建资源表示形式类

服务交互过程:
该服务将处理http://localhost:8080/greeting (GET请求)并使用可选name来查询参数,该GET请求应200 OK在正文中返回表示JSON的响应。
eg:

{
"id": 1,
"content": "Hello, World"
}

id是实例greeting的唯一标识符,content是响应的问候语文本表示形式

  • Greeting实体构建(简单Java类)
public class Greeting {
private final long id;
private final String content;
public Greeting(long id, String content){
this.id = id;
this.content = content;
}
public long getId(){
return id;
}
public String getContent(){
return content;
}
}

Spring Boot App将默认使用spring-starter-web下的默认Jackson JSON库来自动将类型的实例Greeting封装为JSON。网络启动器默认包含Jackson

  • 创建要给资源控制器

在Spring构建RESTful Web服务的方法中,HTTP请求由控制器处理。

@RestController
public class GreetingController {
private static final String template = "Hello, %s"; //响应文本
private static final AtomicLong counter = new AtomicLong();
@GetMapping("/greeting")
public Greeting greeting(@RequestParam(name="name",defaultValue = "World")String name){
return new Greeting(counter.incrementAndGet(), String.format(template, name));
}
}
// @GetMapping注解确保 HTTP GET请求将 http://localhost:8080/greeting 映射到 greeting()方法中
注解 等价注解
@RequestMapping(method=GET) @GetMapping
@RequestMapping(method=POST) @PostMapping

小结:

  1. public Greeting getinfo(@RequestParam(value="name",defaultValue="world")String name){} @ReqeustParam将请求中的name(key)的值(Value)绑定到name上

  2. 传统的MVC控制器和RESTful Web服务器之间的主要区别在于:创建HTTP响应主体的方式不同(RESTful Web服务控制器填充并返回一个Greeting对象并不会依赖于任何视图技术而是将对象数据包装为JSON直接写入HTTP响应中)

  3. @RestController = @Controller + @ResponseBody】该注解将类标记为控制器,其中每个方法均返回域对象而不是视图

  4. @SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan

  • @Configuration: 自动扫描并加载符合条件的组件(比如@Component和@Repository等)或者bean定义,将这些bean定义加载到IoC容器中.
  • @EnableAutoConfiguration: 程序启动时,自动加载springboot默认的配置.
  • @ComponentScan: 程序启动时自动扫描当前包及子包下所有类.
  1. 打包: java -jar target / gs-rest-service-0.1.0.jar
posted @   Felix_Openmind  阅读(869)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
*{cursor: url(https://files-cdn.cnblogs.com/files/morango/fish-cursor.ico),auto;}
点击右上角即可分享
微信分享提示