Springboot 入门 一
SpringBoot简介
官网地址:https://spring.io/projects/spring-boot
SpringBoot基于Spring使其具有更加独立,更加便捷的搭建方式,人们将SpringBoot称为搭建程序的脚手架,他摆脱了过去复杂的配置和混乱的依赖(框架间依赖与版本控制)
SpringBoot的特点
- 创建独立的spring应用程序
- 直接内嵌tomcat、jetty和undertow(不需要打包成war包部署)
- 提供了固定化的starter配置,以简化构建配置(起步依赖),避免大量的Maven导入和各种版本冲突
- 尽可能的自动配置spring和第三方库
- 基于注解的零配置思想( 使用JavaConfig有助于避免使用XML)
- 没有单独的Web服务器需要。这意味着你不再需要启动Tomcat,Glassfish或其他任何东西
- 基于环境的配置 使用这些属性,您可以将您正在使用的环境传递到应用程序:-Dspring.profiles.active = {enviornment}。在加载主应用程序属性文件后,Spring将在(application{environment} .properties)中加载后续的应用程序属性文件。
快速入门
这里我们使用工具IDEA
Maven工程创建SpringBoot
1.File->New->Project
2.选择maven 不需要勾选Create from Archetype -> Next
3.输入GroupId和ArtifactId ->Next
4.项目名称和默认路径->finish
5.此时一个空的Maven项目已经构建完成 现在在Pom文件中添加SpringBoot依赖
<?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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.SpringbootTest</groupId>
<artifactId>Demo1</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
之后我们可以在maven中看到几个依赖和一些插件(之后我们会讲到另一种方式生成的项目自带插件spring-boot-maven-plugin)
也就是说当我们引入了spring-boot-starter-web之后 springboot的起步依赖就生效了,自动帮我们找到了json,tomcat,springmvc等依赖且具有明确的版本
6.添加启动类 程序识别@SpringBootApplication的类为启动类
6.为项目增加启动配置 AddConfiguration -> + ->Application
7.选择启动主类
8.启动 此时我们可以在下方看到SpringBoot的版本号及运行端口号 默认为8080
Spring Initializr创建SpringBoot
1.同上标题第一步 第二步改为选择Spring Initializr 联网获取http://start.spring.io/上的模板
有时候下载速度太慢可以试试https://start.spring.io/ ->Next
2.项目组名 项目名 以及打包方式(分为jar和war 以后讲解这两个的区别 默认jar)
3.选择要添加的依赖和版本号 (此处以Springweb为例) ->Next->修改项目名称和路径->finish
4.项目已经生成 现在我们来对比下区别
首先是POM文件我们不需要再去修改 已经按照刚刚选的版本号生成了依赖
增加了Springboot测试单元exclusions节点中为排除的内容,plugins节点中为maven打包插件 帮助将项目打包成jar并将资源生成到相应目录,在添加了该插件之后,当运行“mvn package”进行打包时,会打包成一个可以直接运行的 JAR 文件,使用“java -jar”命令就可以直接运行。这在很大程度上简化了应用的部署,只需要安装了 JRE 就可以运行。
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
这种方式创建出来的项目整体结构如下图,其中application.properties为配置文件 springboot也支持yaml格式的配置文件