SpringBoot(一) Hello World

Spring Boot让我们的Spring应用变的更轻量化。

简介

在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot来让你更易上手,更简单快捷地构建Spring应用!

Spring Boot的主要优点:

  • 为所有Spring开发者更快的入门
  • 开箱即用,提供各种默认配置来简化项目配置
  • 内嵌式容器简化Web项目
  • 没有冗余代码生成和XML配置的要求

构建项目


当前的 pom.xml 内容如下,仅引入了两个模块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<dependencies>
<!--Web模块-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- 测试包,当我们使用 mvn package 的时候该包并不会被打入,因为它的生命周期只在 test 之内-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

编写控制层

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.ray.springboot201.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
* @author Ray
* @date 2018/7/22 0022
* 这是我的第一个SpringBoot程序
* 其中 @RestController 等同于 (@Controller@ResponseBody
*/
@RestController
public class HelloController {

@RequestMapping("/hello")
public String index(){
return "Hello World";
}
}

修改主函数入口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* 主函数入口
*/
@SpringBootApplication
public class Springboot201Application {

public static void main(String[] args) {
SpringApplication.run(Springboot201Application.class, args);
}

/**
* 这段是自己添加的
*/
@Bean
public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
// 目的是
return args -> {
System.out.println("来看看 SpringBoot 默认为我们提供的 Bean:");
String[] beanNames = ctx.getBeanDefinitionNames();
Arrays.sort(beanNames);
Arrays.stream(beanNames).forEach(System.out::println);
};
}
}

测试

启动主程序,打开浏览器访问http://localhost:8080/hello

可以看到页面输出Hello World

再看看控制台输出。

总结

未接触 SpringBoot 之前,搭建一个普通的 WEB 工程往往需要花费30分钟左右,如果遇到点奇葩的问题耽搁的时间会更长一点,但自从用了SpringBoot 后,真正体会到什么叫分分钟搭建一个WEB,让我拥有更多的时间跟我的小伙伴们唠嗑了。

-------------- 本文结束  感谢您的阅读 --------------