文章目录
1. Spring Boot简介和开发环境
SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
1.1 SpringBoot特征
(1)可以创建独立的应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
(2)内嵌Tomcat或Jetty等Servlet容器;
(3)提供自动配置的“starter”项目对象模型以简化Maven配置;
(4)尽可能自动配置Spring容器;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要XML配置。
1.2 SpringBoot开发环境
jdk:Spring Boot 推荐jdk1.7及以上;我使用的是:java version “1.8.0_211”
maven:maven 3.3以上版本;我使用的是Apache Maven 3.6。
java编辑器:IDEA2017、eclipse、Spring推行的STS;我个人比较喜欢使用IDEA
SpringBoot 2.1.7 .RELEASE;
2. 手动创建Spring Boot HelloWorld项目
2.1 在IDEA中创建maven项目
关于如何在IDEA中创建maven项目,前面在SSM框架中页讲过,可以参考Maven的安装使用;如果maven安装好了,也可以直接按照以下步骤完成。
点击下方next,最后选择自己的保存路径,点击finish;等待创建完成后,我们还需要修改以下IDEA的默认的maven,修改为我们的安装的maven。
file --> settings --> Build,Execution,Deployment --> Build Tools --> maven
点击apply 然后关闭
2.2 添加依赖
接下来需要导入依赖,要在浏览器访问hello请求,返回一段话,我们需要导入两个依赖。
spring-boot-starter-parent 和 spring-boot-starter-web
spring-boot-starter-parent 是一个父级依赖,Spring Boot的版本仲裁中心,控制了所有依赖的版本号;导入依赖默认是不需要写版本 。这样当前的项目就是 Spring Boot 项目了。
spring-boot-starter-parent 能够:
- 指定Java 1.8为默认编译版本。
- 使用 Dependency Management section 管理公共的依赖,使用者引入这些依赖的时候可以不指定版本号。
- 合理地配置 repackage
- 合理地配置 maven的 resource filtering
- 合理地配置一些插件
- 配置可识别的配置文件(application.properties、application.yml、application-dev.properties、application-dev.yml)
spring-boot-starter-web:web的场景,自动帮我们引入了web模块开发需要的相关jar包
<?xml version="1.0" encoding="UTF-8"?>
<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.chtw</groupId>
<artifactId>spring-boot-01</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.7.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Boot单元测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
2.3 编写主函数和业务逻辑
编写主函数,用于启动Spring Boot
package com.chtw;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* 主函数,用于启动 SpringBoot
* @author CHTW
* @date 2019-08-23-9:04
* @SpringBootApplication 说明这里是主函数,说明这是一个SpringBoot应用
*/
@SpringBootApplication
public class TestMain {
public static void main(String[] args){
SpringApplication.run(TestMain.class,args);
}
}
编写Controller
package com.chtw;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@ResponseBody
@RequestMapping("/hello")
public String hello(){
return "Hello World! Welcome to Spring-Boot";
}
}
2.4 运行测试
运行TestMain,在浏览器输入:localhost:8080/hello
3. 使用SpringBoot向导创建Spring Boot 项目
创建完成后,需要修改本地maven路径
创建完成后的目录结构:(多于的可以删除)
其中SpringBoot02Application这个Java类是主函数类,以及帮我们创建好了。
编写controller
package com.chtw;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@ResponseBody
@RequestMapping("/hello")
public String hello(){
return "Hello World! Welcome to Spring-Boot";
}
}
打开pom.xml我们会发现多了一个依赖模块
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
这个依赖是用于项目打包的,可以将我们的项目打包成jar包,方便我们部署应用。在以往的项目中(比如前面SSM框架),我们需要将项目打包成war包,然后添加到tomcat的工作路径下,如果服务器主机上没有安装配置tomcat,那我们还要单独配置tomcat,增加了工作时间,SpringBoot为我们解决了这一问题。导入spring-boot-maven-plugin,将项目打包成jar包,只需要Java环境就可以执行了,很方便。
在IDEA中,安装以下步骤执行,可自行打包成jar包,
打包后储存在:
将这个jar复制出来,放到其他地方,关闭tomcat服务器。然后打开cmd,Java -jar spring-boot-02-0.0.1-SNAPSHOT.jar
访问成功