一、前言
什么是Spring Boot?
Spring Boot就是一个让你使用Spring构建应用时减少配置的一个框架。约定优于配置,一定程度上提高了开发效率。https://zhuanlan.zhihu.com/p/22920391
另外Spring是一个IOC框架,如果之前未使用过IOC框架建议先了解下IOC:https://zh.wikipedia.org/wiki/%E6%8E%A7%E5%88%B6%E5%8F%8D%E8%BD%AC
本篇开发环境
1、操作系统: Windows 10 X64
2、Java SDK: jdk-8u141
3、Maven:3.5
4、IDE:IntelliJ IDEA 2017
5、Spring Boot:1.5.6
二、构建项目
1、创建项目并引入Spring Boot
- 使用Maven项目模板创建项目
项目模板:maven-archetype-webapp
GroupId:io.ken.springboot-course
ArtifactId:springboot-course
- 创建Sources Root
(1)在src/main创建文件夹:java,并使用右键菜单Mark Directory AS->Sources Root
(2)设置将src/resources Mark:使用右键菜单Mark Directory AS->Resources Root
- 在pom.xml中引入spring boot
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
Ctrl + 鼠标左键点击 groupId/artifactId 可以查看引用的Packge的依赖等信息
2、创建应用程序类&应用程序入口
(1)创建package:io.ken.springboot.course
(2)创建应用程序类:CourseApplication
(3)增加注解:@
SpringBootApplication 并配置启动
package io.ken.springbootcourse;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class CourseApplication {
public static void main(String[] args) throws Exception {
SpringApplication.run(CourseApplication.class, args);
}
}
3、创建测试Controller
(1)创建package:io.ken.springboot.course.controller
(2)创建控制器:HelloController
package io.ken.springbootcourse.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@RequestMapping("/")
@ResponseBody
String index() {
return "Hello World!";
}
}
4、启动配置
菜单:Run->Edit Configurations
增加Spring Boot启动配置
选择应用程序入口类
5、启动项目&访问测试
- 启动项目
使用快捷键Shift+F10启动即可
(或者在CourseApplication编辑区,使用右键菜单->Run “CourseApplication”启动)
控制台输出片段:
[main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
[main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
[main] i.k.springboot.course.CourseApplication : Started CourseApplication in 1.999 seconds (JVM running for 2.555)
从输出的信息可以看出,Spring Boot也是跑在Tomcat中的,关键是本机不用安装也不用做任何Tomcat的配置。就可以跑起来。这一点就很爽了。想知道Spring Boot还依赖了那些组件,在Pom.xml文件中Ctrl+鼠标单击
- 访问测试
项目启动后,访问http://localhost:8080
Hello World!
- 更换运行端口
在/src/main/resources下新建配置文件application.yml
文件内容:
server:
port: 8080
有了Spring Boot,构建Web应用程序So Easy!
赶紧去试试,嘿嘿~
三、备注
Spring注解说明
注解 | ken.io的说明 |
---|---|
@ SpringBootApplication |
等价于使用@ Configuration, @ EnableAutoConfiguration 和 @ ComponentScan默认属性的情况。 |
@ Controller |
用于定义控制器类 |
@ RestController |
等价于@ ResponseBody和@ Controller |
@ RequestMapping |
用于定义路由,也就是Url与Controller方法的映射 |
@ ResponseBody |
表示将结果直接填充到HTTP的响应体中,用于构建API |
@ EnableAutoConfiguration |
将根据添加的jar依赖自动配置Spring,比如我们的应用依赖于spring-boot-starter-web,而它又依赖Tomcat和Spring MVC,有了这个注解,Spring boot将自动进行相关配置 |
@ ComponentScan |
表示将该类自动扫描并注册为Bean |
@ Configuration |
用于定义配置文件类,可以将配置类替换xml配置 |
附录
- 本文代码示例
https://github.com/ken-io/springboot-course/tree/master/chapter-01-01