一、Spring Boot 概述java
Spring 框架,做为一个很是优秀的轻量级容器,在企业级项目开发中很是受欢迎,但它在使用期间须要整合众多第三方资源,都会致使配置过于臃肿,这也是令你们很是头疼的问题。web
Spring Boot 的出现,就是为了让你们更方便去使用 Spring 框架进行开发,它基于“约定优于配置(COC)”的设计理念,它实现了自动化配置解决方案,包括自动配置第三方资源,从而简化了 Spring 应用的建立、运行、调试、部署等方便的操做,让开发者更专一在应用业务的实现上。spring
其实,Spring Boot 能够想象成一个中介,它是开发者和 Spring 框架的简化沟通平台,有些“手续(应用的配置)”它直接就帮咱们办理好了,这些“手续”其实就是业务流程中某些默认的流程(也就是默认的配置),恰好就是上面说的“约定优于配置”的理念。Sprint Boot 的最终目的,就是为了提高开发者在业务实现上的专一度。apache
二、Spring Boot 的优点浏览器
继承了 Spring 框架自身优秀的特性。服务器
可以让配置更简单,经过自动配置快速搭建 Spring 应用项目。 app
可以以 jar 文件形式独立运行项目。框架
更强大的注解,让业务实现更简化。 maven
内嵌了常见的 Web 服务器,让你随时使用 Tomcat、Jetty 等。 分布式
提供了企业生产级项目的服务监控方案,让监控更加简单。
还有一些非功能性的通用配置,适应更多的开发需求。
可进行分布式开发,结合 Spring Cloud 进行微服务开发。
三、搭建 Spring Boot 项目
3.1 建立 Maven 项目
第一步:菜单栏中选择 File → New → Project... 弹出下图,而后选择 Maven,再点击 Next 便可。
第二步:填写组织名称、模块名称、项目版本等相关信息,以下图:
第三步:选择项目的保存位置,以下图:
建立好以后的项目具体目录,以下图:
建立好以后的项目本地文件夹具体目录,以下图:
3.2 关于项目中目录的相关解释
src/main/java:用来存储编写好的 Java 源码文件,也就是 xxx.java 文件。
src/main/resources:用来存储编写好的配置文件。
src/test/java:主要用来存储测试用的 Java 源码文件。
3.3 添加配置与代码
第1步:编辑 pom.xml 文件
pom.xml 文件,全称项目对象模型(Project Object Model)描述文件,做为 Maven 的基础配置文件,常被用来指定项目中的依赖配置。
接着,咱们须要在 pom.xml 文件中添加相关依赖,具体以下:
首先,使用 <parent> 标签指定 spring-boot-starter-parent 依赖模块,单从标签名字上来看,就知道它想指定(继承)父类级别的东西。
在构建 Spring Boot 应用时设置它,也就意味着会自动包含能简化咱们工做的自动配置、日志和 YAML 等大量的配置。它做为 Spring Boot 的核心启动器,提供一些 Maven 默认的配置和 dependency-management,能让你快速使用 Spring Boot 进行开发。
好比,这里指定了 parent 的版本号,当咱们在引入其余依赖的时候,就不用再去关心它们的版本号了,在之前是须要考虑的,并且还很容易引发版本冲突。
编辑 pom.xml 文件
<parent>
<groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.1.RELEASE</version>
</parent>
若是,咱们须要进行 Web 开发,还须要指定 spring-boot-starter-web 依赖模块,须要在 pom.xml 文件中添加 <dependency…/> 元素来进行指定,具体以下:
指定 web 依赖模块
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
最后,还能够经过 <build …/> 元素来添加插件,好比设置 Spring Boot 的 Maven 插件 Spring Boot Maven plugin,它可以为 Spring Boot 应用提供执行 Maven 操做。此插件,可以将 Spring Boot 应用进行打包为可执行的 jar 或 war 形式的文件,而后以一般的方式来运行。具体配置以下:
添加 maven 插件
<build>
<plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins>
</build>
完整的 pom.xml 文件,具体以下:
完整的 pom.xml 文件源码
<?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.nx</groupId> <artifactId>SpringDemo</artifactId> <version>1.0-SNAPSHOT</version> <!-- 指定 parent 版本 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.1.RELEASE</version> </parent> <!-- 指定 web 依赖模块 --> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <!-- 设置 maven 插件 --> <build> <plugins> <plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
</project>
第2步:添加 Controller 类
新建一个 com.nx 的 package,而后添加一个 HelloControler 类,如图位置:
HelloController 控制器类的代码,具体以下:
HelloController 控制器
package com.nx.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("/hello") public String sayHello(){ return "I Love Spring Boot."; }
}
@RestController 注解是一个组合注解,它包含了 @Controller 和 @ResponseBody 两个注解,说明它能以 JSON 格式进行响应数据。注解的源码以下:
@RestController 注解源码
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {
@AliasFor( annotation = Controller.class ) String value() default "";
}
第3步:添加 Spring Boot 启动类
启动类的路径,须要可以让 spring boot 扫描获得其余的组件,添加位置:
SpringBootApp 启动类的代码,具体以下:
SpringBootApp 启动类
package com.nx;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
// 用于指定 Spring Boot 应用的启动类
@SpringBootApplication
public class SpringBootApp {
public static void main(String[] args) { // 从 main 方法中进行启动 Spring 应用中的类 SpringApplication.run(SpringBootApp.class, args); }
}
3.4 启动 Spring Boot 项目
有三种启动方式,具体以下:
使用 Maven 命令启动
运行 main 方法启动
使用 Maven 打包启动
第1种:使用 Maven 命令启动
使用 Maven 命令:
spring-boot:run
指定项目路径和 Maven 命令,具体以下
第 2 种:运行 main 方法启动
第 3 种:使用 Maven 打包启动
须要将 Spring Boot 应用打成一个 jar 包运行。
首先,在 IDEA 的右边栏中,打开 Maven 便可看到以下页面,双击 package 命令。
而后,找到项目所在路径下的 target 文件夹,打开便可看到生成的 jar 文件。
最后,经过命令行进入到 jar 文件所在目录下,并执行 java -jar 命令。
java -jar .\SpringDemo-1.0-SNAPSHOT.jar
3.5 访问 Spring Boot 应用
打开浏览器,在地址栏中输入请求地址:
http://localhost:8080/hello,而后回车进行访问。未完待续,等我下一篇嗷 ~~~