博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Spring Boot开发 “Hello World” Web应用
阅读量:5946 次
发布时间:2019-06-19

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

环境准备

由于现在很多IDE都支持Maven, 所以我们将使用Maven构建该工程;

开始之前,需要先安装Java和Maven:

本工程将基于Spring Boot 1.4.3.RELEASE开发,推荐的Java版本是Java 7+,maven版本是3.2+,可使用如下命令检查是否符合要求:

创建POM

由于使用Maven构建,所以我们首先需要创建一个pom.xml文件,用于构建本工程,打开你最喜欢的编辑器(如Notepad++),添加如下内容:

4.0.0
com.example
myproject
0.0.1-SNAPSHOT
org.springframework.boot
spring-boot-starter-parent
1.4.3.RELEASE

添加依赖

Spring Boot提供了一系列的“启动器”,使得添加依赖变得非常简单;

由于本工程是一个Web工程,所以我们选择添加spring-boot-starter-web“启动器”依赖;

添加spring-boot-starter-web依赖

org.springframework.boot
spring-boot-starter-web

为了更加直观的看到spring-boot-starter-web引入的依赖,我们可以使用mvn dependency:tree命令查看工程的依赖树,如下是添加前后的区别:

前(注意观察,虽然继承了spring-boot-starter-parent,但是并没有引入任何依赖):

后:

可以发现,在添加前,项目没有任何依赖,添加完spring-boot-starter-web依赖后,Tomcat、Jackson、Spring Boot等依赖也都自动添加了进来。

最后,有一点值得注意的是,为了简便,我们这个工程是继承spring-boot-starter-parent工程,spring-boot-starter-parent帮我们预先定义了很多插件管理配置、编译级别(Java 6)、编码(utf-8)等,不过并没有添加任何依赖,有兴趣的可以查看spring-boot-starter-parent工程的pom.xml文件,链接如下:

编写代码

为了完成这个应用,我们需要创建一个简单的Java文件,如下,Maven默认情况下会去src/main/java目录编译java文件,所以我们要先创建这个目录结构,然后添加src/main/java/Example.java文件:

import org.springframework.boot.*;import org.springframework.boot.autoconfigure.*;import org.springframework.stereotype.*;import org.springframework.web.bind.annotation.*;@RestController@EnableAutoConfigurationpublic class Example {    @RequestMapping("/")    String home() {        return "Hello World!";    }    public static void main(String[] args) throws Exception {        SpringApplication.run(Example.class, args);    }}

注意观察以上代码,我们使用了@RestController和@RequestMapping两个Spring MVC的注解,

@RestController用于表明该类是一个Controller,且返回的内容直接写入到响应body里;

@RequestMapping用于url路由映射,在这里表面路径为“/”的Http请求将会映射到home()这个方法来处理;

另外,还使用了@EnableAutoConfiguration注解,添加这个注解后,Spring Boot会基于你添加的依赖去自动配置Spring,由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以,Spring Boot自动配置会假定你正在开发一个web应用程序,并依此自动添加相关Spring配置。

最后,要关注的是main方法,跟普通的main方法没什么区别,只有一句话,调用SpringApplication的run方法启动应用。

使用maven命令运行应用

由于继承了spring-boot-starter-parent工程,所以我们可以直接使用mvn spring-boot:run命令来运行程序,如下所示:

$ mvn spring-boot:run  .   ____          _            __ _ _ /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/  ___)| |_)| | | | | || (_| |  ) ) ) )  '  |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot ::  (v1.4.3.RELEASE)....... . . ........ . . . (log output here)....... . . ......... Started Example in 2.222 seconds (JVM running for 6.514)

启动后,在浏览器输入http://localhost:8080/ 即可以看到Controller中home方法返回的结果:

另外使用ctrl-c,可以关闭应用。

创建一个可执行的jar包

很简单,添加一个maven插件,如下代码;

org.springframework.boot
spring-boot-maven-plugin

 然后运行mvn package命令即可(注意,spring-boot-starter-parent的POM已经帮我们做了配置,绑定了repackage goal, 如果没使用继承parent POM,我们需要做更多配置,详情参考):

打完包后,我们可以在target目录下找到helloworld-0.0.1-SNAPSHOT.jar包。

如果要运行程序的话,也很简便,输入 java -jar target/helloworld-0.0.1-SNAPSHOT.jar 命令即可启动应用,如下所示:

$ java -jar target/helloworld-0.0.1-SNAPSHOT.jar  .   ____          _            __ _ _ /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/  ___)| |_)| | | | | || (_| |  ) ) ) )  '  |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot ::  (v1.4.3.RELEASE)....... . . ........ . . . (log output here)....... . . ......... Started Example in 2.536 seconds (JVM running for 2.864)
 

同样,启动后,在浏览器输入http://localhost:8080/ 即可以看到Controller中home方法返回的结果。

IDE推荐

最后,虽然本例子未使用任何IDE,主要是因为比较简单;如果开发复杂的应用,还是强烈推荐使用IDE,如Spring Tool Suite,我使用的是sts-3.8.3.RELEASE版本。

参考资料

 

转载于:https://www.cnblogs.com/chenpi/p/6293032.html

你可能感兴趣的文章
MemCache在Windows环境下的搭建及启动
查看>>
linux下crontab实现定时服务详解
查看>>
Numpy中的random模块中的seed方法的作用
查看>>
用java数组模拟登录和注册功能
查看>>
javaScript实现归并排序
查看>>
关于jsb中js与c++的相互调用
查看>>
UVA 122 Trees on the level 二叉树 广搜
查看>>
POJ-2251 Dungeon Master
查看>>
tortoisesvn的安装
查看>>
我是怎么使用最短路径算法解决动态联动问题的
查看>>
URAL 1353 Milliard Vasya's Function DP
查看>>
速读《构建之法:现代软件工程》提问
查看>>
Android onclicklistener中使用外部类变量时为什么需要final修饰【转】
查看>>
django中聚合aggregate和annotate GROUP BY的使用方法
查看>>
TFS简介
查看>>
docker管理平台 shipyard安装
查看>>
安装django
查看>>
Bootstrap3 栅格系统-简介
查看>>
ADODB类库操作查询数据表
查看>>
【java】File的使用:将字符串写出到本地文件,大小0kb的原因
查看>>