一. SpringBoot介绍
1. 如果使用Spring开发一个"HelloWorld"的web应用需要以下步骤:
1.1. 创建一个web项目, 并且导入一些列相关jar包。
1.2. 配置web.xml(Spring的org.springframework.web.servlet.DispatcherServlet)。
1.3. 编写一个控制类(Controller)。
1.4. 需要一个部署web应用的服务器, 如: tomcat。
2. SpringBoot特点
2.1. SpringBoot设计目的是用来简化新Spring应用的初始搭建以及开发过程。
2.2. 嵌入的Tomcat, 无需部署WAR文件。
2.3. SpringBoot并不是对Spring功能上的增强, 而是提供了一种快速使用Spring的方式(你可以理解为SpringBoot就是Spring, 只不过比旧版本的Spring开发更快速、更便捷)。
二. 使用maven构建SpringBoot的名叫spring-boot-hello项目
1. 新建Maven Project
2. 创建一个简单的工程, 使用默认的工作空间
3. 创建的是一个jar工程, 继承SpringBoot的父项目
4. 修改pom文件, 将jdk的版本更新为1.8
5. 修改pom文件, 依赖SpringBoot启动坐标
6. SpringBoot启动器
6.1. 所谓的SpringBoot启动器其实就是一些jar包的集合。SprigBoot一共提供44启动器。
6.2. spring-boot-starter-web支持全栈式的web开发, 包括了tomcat和SpringMVC等jar。
6.3. spring-boot-starter-jdbc支持Spring以jdbc方式操作数据库的jar包的集合。
6.4. spring-boot-starter-redis支持redis键值存储的数据库操作。
6.5. spring-boot-starter-freemarker支持以freemarker技术开发视图层。
6.6. spring-boot-starter-thymeleaf支持以thymeleaf技术开发视图层。
6.7. mybatis-spring-boot-starter支持Spring以mybatis方式操作数据库。
6.8. spring-boot-starter-test支持Spring进行Junit单元测试。
7. 添加spring-boot-starter-web启动器, 导入的一系列jar包
8. pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.bjbs</groupId>
<artifactId>spring-boot-hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.13.RELEASE</version>
</parent>
<!-- 修改jdk版本 -->
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- springBoot的启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
9. 编写一个名叫HelloWorld.java的Controller
package com.bjbs.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* HelloWorld Controller
*/
@Controller
public class HelloWorld {
@RequestMapping("/hello")
@ResponseBody
public Map<String, Object> showHelloWorld() {
Map<String, Object> map = new HashMap<>();
map.put("msg", "HelloWorld");
return map;
}
}
10. 编写App.java启动类
package com.bjbs;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* SpringBoot启动类
*/
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
11. 在启动类上, Run As——>Java Application
12. 启动成功, 控制台打印
13. 浏览器访问项目
14. 启动器存放的位置。启动器可以和Controller位于同一个包下或者位于Controller的上一级包中, 但是不能放到Controller的平级以及子包下。