Spring Boot 之 HelloWorld详解

企业动态
Spring Boot(英文中是“引导”的意思),是用来简化Spring应用的搭建到开发的过程。应用开箱即用,只要通过 “just run”(可能是 java -jar 或 tomcat 或 maven插件run 或 shell脚本),就可以启动项目。二者,Spring Boot 只要很少的Spring配置文件(例如那些xml,property)。

[[189663]]

一、Spring Boot 自述

世界上***的文档来源自官方的《Spring Boot Reference Guide》,是这样介绍的:

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”…Most Spring Boot applications need very little Spring configuration.

Spring Boot(英文中是“引导”的意思),是用来简化Spring应用的搭建到开发的过程。应用开箱即用,只要通过 “just run”(可能是 java -jar 或 tomcat 或 maven插件run 或 shell脚本),就可以启动项目。二者,Spring Boot 只要很少的Spring配置文件(例如那些xml,property)。

因为“习惯优先于配置”的原则,使得Spring Boot在快速开发应用和微服务架构实践中得到广泛应用。

Javaer装好JDK环境和Maven工具就可以开始学习Boot了~

二、HelloWorld实战详解

首先得有个maven基础项目,可以直接使用Maven骨架工程生成Maven骨架Web项目,即man archetype:generate命令:

  1. mvn archetype:generate -DgroupId=springboot -DartifactId=springboot-helloworld -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 

2.1 pom.xml配置

代码如下:

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  3.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
  4.     <modelVersion>4.0.0</modelVersion> 
  5.   
  6.     <groupId>springboot</groupId> 
  7.     <artifactId>springboot-helloworld</artifactId> 
  8.     <version>0.0.1-SNAPSHOT</version> 
  9.     <name>springboot-helloworld :: HelloWorld Demo</name
  10.   
  11.     <!-- Spring Boot 启动父依赖 --> 
  12.     <parent> 
  13.         <groupId>org.springframework.boot</groupId> 
  14.         <artifactId>spring-boot-starter-parent</artifactId> 
  15.         <version>1.3.3.RELEASE</version> 
  16.     </parent> 
  17.   
  18.     <dependencies> 
  19.         <!-- Spring Boot web依赖 --> 
  20.         <dependency> 
  21.             <groupId>org.springframework.boot</groupId> 
  22.             <artifactId>spring-boot-starter-web</artifactId> 
  23.         </dependency> 
  24.   
  25.         <!-- Junit --> 
  26.         <dependency> 
  27.             <groupId>junit</groupId> 
  28.             <artifactId>junit</artifactId> 
  29.             <version>4.12</version> 
  30.         </dependency> 
  31.     </dependencies> 
  32. </project> 

只要加入一个 Spring Boot 启动父依赖即可。

2.2 Controller层

HelloWorldController的代码如下:

  1. /** 
  2.  * Spring Boot HelloWorld案例 
  3.  * 
  4.  * Created by bysocket on 16/4/26. 
  5.  */ 
  6. @RestController 
  7. public class HelloWorldController { 
  8.   
  9.     @RequestMapping("/"
  10.     public String sayHello() { 
  11.         return "Hello,World!"
  12.     } 

@RestController和@RequestMapping注解是来自SpringMVC的注解,它们不是SpringBoot的特定部分。

1. @RestController:提供实现了REST API,可以服务JSON,XML或者其他。这里是以String的形式渲染出结果。

2. @RequestMapping:提供路由信息,”/“路径的HTTP Request都会被映射到sayHello方法进行处理。

具体参考,世界上***的文档来源自官方的《Spring Framework Document》

2.3 启动应用类

和***段描述一样,开箱即用。如下面Application类:

  1. /** 
  2.  * Spring Boot应用启动类 
  3.  * 
  4.  * Created by bysocket on 16/4/26. 
  5.  */ 
  6. @SpringBootApplication 
  7. public class Application { 
  8.   
  9.     public static void main(String[] args) { 
  10.         SpringApplication.run(Application.class,args); 
  11.     } 

1. @SpringBootApplication:Spring Boot 应用的标识

2. Application很简单,一个main函数作为主入口。SpringApplication引导应用,并将Application本身作为参数传递给run方法。具体run方法会启动嵌入式的Tomcat并初始化Spring环境及其各Spring组件。

2.4 Controller层测试类

一个好的程序,不能缺少好的UT。针对HelloWorldController的UT如下:

  1. /** 
  2.  * Spring Boot HelloWorldController 测试 - {@link HelloWorldController} 
  3.  * 
  4.  * Created by bysocket on 16/4/26. 
  5.  */ 
  6. public class HelloWorldControllerTest { 
  7.   
  8.     @Test 
  9.     public void testSayHello() { 
  10.         assertEquals("Hello,World!",new HelloWorldController().sayHello()); 
  11.     } 

三、运行

Just Run的宗旨,运行很简单,直接右键Run运行Application类。同样你也可以Debug Run。可以在控制台中看到:

  1. Tomcat started on port(s): 8080 (http) 
  2. Started Application in 5.986 seconds (JVM running for 7.398) 

然后访问 http://localhost:8080/ ,即可在页面中看到Spring Boot对你 say hello:

1Hello,World!

四、小结

1. Spring Boot pom配置

2. Spring Boot 启动及原理

【本文为51CTO专栏作者“李强强”的原创稿件,转载请通过51CTO联系作者获取授权】

戳这里,看该作者更多好文

责任编辑:武晓燕 来源: 51CTO专栏
相关推荐

2020-11-02 07:00:29

Spring Boo注解自动化

2024-08-13 08:41:18

2024-10-14 17:18:27

2017-04-25 10:46:57

Spring BootRESRful API权限

2019-12-03 11:00:08

spring bootspring-kafkJava

2024-08-05 08:45:35

SpringKafkaSCRAM

2024-04-03 15:40:14

WebSocketWeb应用Spring

2022-05-25 09:00:00

令牌JWT安全

2020-11-10 11:58:17

鸿蒙应用开发

2018-03-15 11:50:53

机器学习入门Tensorflow

2024-01-02 07:04:23

2024-10-15 16:41:35

2024-04-23 14:13:38

开发配置文件

2023-11-30 07:00:56

SpringBoot处理器

2024-04-18 08:28:06

2014-07-30 16:43:49

Android

2021-01-14 07:54:19

Spring Clou应用路由

2023-11-06 07:25:51

Spring配置应用程序

2024-07-31 15:57:41

2024-10-15 10:28:43

点赞
收藏

51CTO技术栈公众号