博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Boot 之 HelloWorld详解
阅读量:7040 次
发布时间:2019-06-28

本文共 3378 字,大约阅读时间需要 11 分钟。

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢!

“以前是人放狗看家,现在是狗牵着人散步” — 随笔

一、Spring Boot 自述

世界上最好的文档来源自官方的《》,是这样介绍的:

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

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

2.2 Controller层

HelloWorldController的代码如下:

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

@RestController和@RequestMapping注解是来自SpringMVC的注解,它们不是SpringBoot的特定部分。 1. @RestController:提供实现了REST API,可以服务JSON,XML或者其他。这里是以String的形式渲染出结果。 2. @RequestMapping:提供路由信息,"/“路径的HTTP Request都会被映射到sayHello方法进行处理。 具体参考,世界上最好的文档来源自官方的《》

2.3 启动应用类

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

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

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

2.4 Controller层测试类

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

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

 

三、运行

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

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

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

1
Hello,World!

 

四、小结

1. Spring Boot pom配置 2. Spring Boot 启动及原理

你可能感兴趣的文章
Android常用网址
查看>>
sbt解析spark依赖报错
查看>>
Timsort工作原理
查看>>
MySQL性能调优与架构设计--MySql逻辑模块组成
查看>>
Command模式
查看>>
python的nltk中文使用和学习资料汇总帮你入门提高
查看>>
Input TableViewCell
查看>>
Passcode
查看>>
iTellAFriend
查看>>
BlockAlertsAnd-ActionSheets
查看>>
TapKu Graph
查看>>
XCode's one very useful cmd:po
查看>>
面试需要的基础知识-合并排序数组
查看>>
关于Unity 2018的实体组件系统(ECS)一
查看>>
安卓系统下安装完apk程序后,具体的文件夹位置在哪里呢
查看>>
Echarts---添加渐变功能
查看>>
常用的工具
查看>>
linux 下解压命令大全
查看>>
深入了解 Linux下安装DNS+Sendmail服务
查看>>
安装Redis完整过程
查看>>