Spring Boot 之HelloWorld开发案例

发布时间 - 2026-01-11 00:48:25    点击率:

1.开发工具安装

在Eclipse上安装插件:spring Tool Suite(简称STS)

2.开发实例

1).创建项目

File > New > Spring Starter Project

项目创建完成:

2).生成的源码解读

SpringBootSimpleApplication类:

package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringBootSimpleApplication {
 public static void main(String[] args) {
  SpringApplication.run(SpringBootSimpleApplication.class, args);
 }
}

pom.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.example</groupId>
 <artifactId>Spring-boot-simple</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <packaging>jar</packaging>
 <name>Spring-boot-simple</name>
 <description>Demo project for Spring Boot</description>
 <parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>1.5.2.RELEASE</version>
  <relativePath/> <!-- lookup parent from repository -->
 </parent>
 <properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  <Java.version>1.8</java.version>
 </properties>
 <dependencies>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
  </dependency>
 </dependencies>
 <build>
  <plugins>
   <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
   </plugin>
  </plugins>
 </build>
</project>

3).自定义Controller层

创建HelloWorldController.java类:

package com.example.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/hello")
public class HelloWorldController {
 @RequestMapping
 public String hello() {
  return "Hello Spring-Boot";
 }
 @RequestMapping("/info")
 public Map<String, String> getInfo(@RequestParam String name) {
  Map<String, String> map = new HashMap<String,String>();
  map.put("name", name);
  return map;
 }
 @RequestMapping("/list")
 public List<Map<String, String>> getList() {
  List<Map<String, String>> list = new ArrayList<Map<String, String>>();
  Map<String, String> map = null;
  for (int i = 1; i <= 5; i++) {
   map = new HashMap<>();
   map.put("name-"+i, "spring-boot-"+i);
   list.add(map);
  }
  return list;
 }
}

然后现在可以直接运行 SpringBootSampleApplication 的main方法,和执行普通java程序一样。

然后可以看到spring-boot 内置server容器(默认为Tomcat),这一切spring-boot 都帮我们做好了。

在浏览器输入我们3个请求便可看到结果。

http://localhost:8080/hello

输出:Hello Spring-Boot

http://localhost:8080/hello/info?name=spring-boot

输出:{“name”:”spring-boot”}

http://localhost:8080/hello/list

输出:[{“name-1”:”spring-boot-1”},{“name-2”:”spring-boot-2”},{“name-3”:”spring-boot-3”},{“name-4”:”spring-boot-4”},{“name-5”:”spring-boot-5”}]

通过我们的Hello实例,相信大家一目了然,可谓spring-boot创建一个项目如此简单,完全可以在几分钟内将服务启动。

3.注解说明

1).@SpringBootApplication

很多Spring Boot开发者总是使用 @Configuration , @EnableAutoConfiguration 和 @ComponentScan 注解他们的main类。由于这些注解被如此频繁地一块使用(特别是你遵循以上最佳实践时),Spring Boot提供一个方便的 @SpringBootApplication 选择。

该 @SpringBootApplication 注解等价于以默认属性使用 @Configuration , @EnableAutoConfiguration 和 @ComponentScan 。

2).@RestController和@RequestMapping注解

我们的Example类上使用的第一个注解是@RestController。被称为一个构造型(stereotype)注解。它为阅读代码的人们提供建议。对于Spring,该类扮演了一个特殊角色。在本示例中,我们的类是一个web @Controller ,所以当处理进来的web请求时,Spring会询问它。

@RequestMapping 注解提供路由信息。它告诉Spring任何来自"/"路径的HTTP请求都应该被映射到 home 方法。
@RestController 注解告诉Spring以字符串的形式渲染结果,并直接返回给调用者。

注: @RestController 和 @RequestMapping 注解是Spring MVC注解(它们不是Spring Boot的特定部分)

以上所述是小编给大家介绍的Spring Boot 之HelloWorld开发案例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# spring  # boot  # helloworld  # SpringBoot入门编写第一个程序Helloworld  # Spring Boot Hello World的实现代码  # SpringBoot之Helloword 快速搭建一个web项目(图文)  # IntelliJ IDEA 创建spring boot 的Hello World 项目(图解)  # Spring Boot实战之逐行释义Hello World程序  # spring boot教程之建立第一个HelloWorld  # 小编  # 是一个  # 他们的  # 第一个  # 在此  # 这一切  # 给大家  # 便可  # 可以看到  # 可以直接  # 自定义  # 被称为  # 几分钟  # 提供一个  # 所述  # 创建一个  # 给我留言  # 开发工具  # 内将  # 感谢大家 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  手机软键盘弹出时影响布局的解决方法  Laravel如何实现API资源集合?(Resource Collection教程)  Android滚轮选择时间控件使用详解  Laravel如何自定义分页视图?(Pagination示例)  深圳网站制作平台,深圳市做网站好的公司有哪些?  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  HTML 中如何正确使用模板变量为元素的 name 属性赋值  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  详解Huffman编码算法之Java实现  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  动图在线制作网站有哪些,滑动动图图集怎么做?  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  Laravel如何发送系统通知?(Notification渠道示例)  微信小程序 input输入框控件详解及实例(多种示例)  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  如何用AWS免费套餐快速搭建高效网站?  Firefox Developer Edition开发者版本入口  三星、SK海力士获美批准:可向中国出口芯片制造设备  微信小程序 canvas开发实例及注意事项  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  Laravel如何实现用户密码重置功能?(完整流程代码)  Python结构化数据采集_字段抽取解析【教程】  Bootstrap整体框架之CSS12栅格系统  JavaScript如何实现倒计时_时间函数如何精确控制  在线制作视频的网站有哪些,电脑如何制作视频短片?  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  浅述节点的创建及常见功能的实现  如何快速上传建站程序避免常见错误?  如何在IIS中新建站点并配置端口与IP地址?  如何正确下载安装西数主机建站助手?  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  网站优化排名时,需要考虑哪些问题呢?  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  Laravel如何为API编写文档_Laravel API文档生成与维护方法  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  如何正确选择百度移动适配建站域名?  如何在服务器上配置二级域名建站?  如何利用DOS批处理实现定时关机操作详解  网站页面设计需要考虑到这些问题  BootStrap整体框架之基础布局组件  如何在自有机房高效搭建专业网站?  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能