【WEB系列】一个web demo应用构建全过程
前面分别通过Spring结合web.xml和java config的方式构建web应用,最终实现效果差不多,但从结构上来看java config的方式明显更优雅一点;而本篇将介绍的SpringBoot方式,则更能让我们感受到便捷
本篇博文,建议与前面两篇对比阅读,效果更佳
- 190316-Spring MVC之基于xml配置的web应用构建 (opens new window)
- 190317-Spring MVC之基于java config无xml配置的web应用构建 (opens new window)
II. web构建
# 1. 项目依赖
与前面一样,搭建SpringBoot web工程,需要引入对应的依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.0.M1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</pluginManagement>
</build>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
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
33
34
35
36
37
38
39
40
41
42
开始接触SpringBoot,不熟悉应该引入什么依赖的提前下,一个简单方法就是通过官网来创建项目
- 进入官网https://start.spring.io/ (opens new window)
- 选择版本,输入group, artifact,确定即可
对于SpringBoot web应用而言,我们需要引入的包就是
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2
3
4
# 2. 配置
SpringBoot抛弃了xml的配置方式,也是基于java config这一套玩耍的,但是它更加的简单
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
}
2
3
4
5
6
在我们的启动类入口上,添加上注解 @SpringBootApplication
即可,这样一个SpringBoot应用就完成了
不需要其他的任何配置,默认开启的http端口是8080,如需修改,可以通过 application.properties
或者 application.yml
文件来重新指定
# 3. 实例代码
然后就可以写我们的Controller代码了
@RestController
public class HelloRest {
@Autowired
private PrintServer printServer;
@GetMapping(path = "hello")
public String sayHello(HttpServletRequest request) {
printServer.print();
return "hello, " + request.getParameter("name");
}
@GetMapping({"/", ""})
public String index() {
return UUID.randomUUID().toString();
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
一个普通的bean
@Service
public class PrintServer {
public void print() {
System.out.println(System.currentTimeMillis());
}
}
2
3
4
5
6
# 4. 测试
测试也比较简单,直接运行前面的main方法即可,如下图
# 5. 小结
使用SpringBoot搭建一个基础的web应用,由于过于简单,也没有什么特别多值得说到地方,这里对比前面两篇,会发现优势特别特别的明显,极大的减少了入门门槛,整个项目更加轻量简洁,个人感觉,今后基于SpringBoot搭建后端应用的趋势,会取代原来的存Spring的方式
# II. 其他
# - 系列博文
web系列:
mvc应用搭建篇:
- 190316-Spring MVC之基于xml配置的web应用构建 (opens new window)
- 190317-Spring MVC之基于java config无xml配置的web应用构建 (opens new window)
- 190319-SpringBoot高级篇WEB之demo应用构建 (opens new window)
# 0. 项目
- 工程:https://github.com/liuyueyi/spring-boot-demo (opens new window)
- 项目: https://github.com/liuyueyi/spring-boot-demo/tree/master/spring-boot/201-web (opens new window)
# 1. 一灰灰Blog
- 一灰灰Blog个人博客 https://blog.hhui.top (opens new window)
- 一灰灰Blog-Spring专题博客 http://spring.hhui.top (opens new window)
一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
# 2. 声明
尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
- 微博地址: 小灰灰Blog (opens new window)
- QQ: 一灰灰/3302797840
# 3. 扫描关注
一灰灰blog
知识星球
- 01
- 【基础系列】基于maven多环境配置04-25
- 03
- 【搜索系列】ES查询常用实例演示04-18