Spring Boot 2.X(一):入门篇

什么是 Spring Boot



Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架遵循”约定优于配置“的思想,清除了原先使用Spring框架的那些样板化的配置,继承了原有Spring框架的优秀基因,从而帮助开发者快速开发应用。

SpringBoot的特性




总的来说就是简单、快速、方便。

SpringBoot的核心模块



创建SpringBoot项目



本文使用开发工具为eclipse

官网Maven构建项目

1、访问 https://start.spring.io/
2、选择构建工具中Maven Project、Java、Spring Boot版本2.1.8以及一些项目的基本信息,可参考下图所示:

3、点击 Generate Project 下载项目压缩包
4、Import —> Existing Maven Projects —> Next —> 选择解压后的文件夹 —> Finsh

Eclipse构建项目

1、首先安装SpringBoot插件,Help —> Eclipse Marketplace —> 搜索‘Spring‘ —> 安装Spring Tools 4 - for Spring Boot··· —> Install,直至完成restart
2、File —> New —> Project,弹出新建项目的框
3、搜索‘Spring’,找到选择Spring Boot子目录下的Spring Starter Project,点击Next
4、填写相关项目信息后,点击Next,选择需要的依赖包,再点击Next,确认无误后Finish,完成创建。

HelloWorld

我们根据上面构建了一个helloworld项目,基于它我们来实现简单的web示例以及测试示例

1.项目目录结构介绍


如上图所示,Spring Boot 的基础结构共三个大块:
1、src/main/java Java源代码目录,主程序入口 HelloworldApplication,可以通过直接运行该类来启动 Spring Boot 应用
2、src/main/resources 资源文件目录,该目录用来存放应用的一些配置以及静态资源。application.properties为配置文件,可以配置应用名、服务器端口、数据库链接等等。由于引入了Web模块,因此产生了 static 目录与 templates 目录,static 用于存放静态资源,如图片、CSS、JavaScript等,templates 用于存放 Web 页面的模板文件。
3、src/test/java 单元测试目录,生成的 HelloworldApplicationTests 通过 JUint 4 实现,可以直接用运行 Spring Boot 应用的测试。

2.Maven 配置分析
<?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.1.8.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>helloworld</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>helloworld</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>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
  • Spring Boot 版本:2.1.8.RELEASE
  • 打包形式: jar (Spring Boot 默认的打包形式)
  • pom.xml 文件中项目依赖 dependencies 默认有两个模块:
  • spring-boot-starter-web 全栈Web开发模块,包含嵌入式Tomcat、Spring MVC。
  • spring-boot-starter-test 通用测试模块,包含JUnit、Hamcrest、Mockito。
    项目构建的 build 部分:引入了 Spring Boot 的 Maven 插件。
3.实现一个简单的应用
  • 新建 package,命名为 com.example.demo.controller ,可以根据实际的构建情况修改自己的路径。
  • 新建 HelloController 类,代码如下:
@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String hello() {
        return "Hello World";
    }
}
  • 启动应用,通过浏览器访问 http://localhost:8080/hello ,我们可以看到返回了预期的结果:Hello World 。
4.单元测试
  • 打开 src/test/java 下的测试入口 HelloApplicationTests ,编写一个简单的单元测试来模拟 HTTP 请求。代码如下:
@RunWith(SpringJUnit4ClassRunner.class)//引入Spring对JUnit4的支持
@SpringBootTest
public class HelloApplicationTests {

    private MockMvc mvc;//用于模拟调用 Controller 的接口发起请求,

    @Before //预加载内容,用来初始化对 HelloController 的模拟
    public void setUp() throws Exception{
        mvc=MockMvcBuilders.standaloneSetup(new HelloController()).build();
    }

    @Test
    public void hello() throws Exception{
        mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
                    .andExpect(status().isOk())
                    .andExpect(content().string(equalTo("Hello World")));
    }

}
  • 注意需要引入下面的静态引用,让 status 、content 、 equalTo 函数可用:

    import static org.hamcrest.Matchers.equalTo;
    import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
    import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

  • 开发环境中调试
    引入热部署依赖,修改代码后就无须手动重启了。
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

总结



使用 Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用 Spring Boot 非常适合构建微服务。

示例代码

码云
github

非特殊说明,本文版权归 朝雾轻寒 所有,转载请注明出处.

本文标题: Spring Boot 2.X(一):入门篇

本文网址:https://www.zwqh.top/article/info/1

原文地址:https://www.cnblogs.com/zwqh/p/11645721.html

时间: 2024-10-09 07:18:21

Spring Boot 2.X(一):入门篇的相关文章

Spring Boot 2.x 实战入门

"老齐的IT脱口秀,说人话,讲编程." 国内一线培训机构的金牌讲师齐毅诚意录制,没有忽悠,案例实战.<Spring Boot 2.x 实战入门>,老齐会把15年经验揉到实战手把手陪你学习.只要你需要,所有PPT和源码都给你,一切都是为了让你学的更轻松.希望老齐能成为你进入IT行业的引路人!课程完全免费,没有套路,也不会骗你去培训机构,只是一个老司机希望能让你少走点弯路!!课程地址: http://edu.51cto.com/course/13147.html 课程章节:第1

[公益课程]Spring Boot 2.x 实战入门

[公益内容]Spring Boot 2.x 实战入门课程内容 http://edu.51cto.com/course/13147.html 第1章Spring Boot 2.X快速入门45分钟1节 1-1Spring Boot 2.x 快速上手[免费观看]45:51第2章Spring Boot 常用配置1小时44分钟3节 2-1Spring Boot Web常用配置[免费观看]33:15 2-2日志配置[免费观看]28:59 2-3环境切换与自定义配置[免费观看]41:59第3章Thymelea

Spring Boot学习大全(入门)

Spring Boot学习(入门) 1.了解Spring boot Spring boot的官网(https://spring.io),我们需要的一些jar包,配置文件都可以在下载.添置书签后,我自己常常来看看spring boot这老兄,以及后面所需要的Spring Cloud.Spring Cloud Data Flow. 2.Spring Boot的简介 随着动态语言的流行( Ruby, Groovy, Scala, Node. js)Java的开发显得格外的笨重,繁多的配置,低下的开发效

Spring Boot 官方文档入门及使用

个人说明:本文内容都是从为知笔记上复制过来的,样式难免走样,以后再修改吧.另外,本文可以看作官方文档的选择性的翻译(大部分),以及个人使用经验及问题. 其他说明:如果对Spring Boot没有概念,请先移步上一篇文章 Spring Boot 学习.本篇原本是为了深入了解下Spring Boot而出现的. 另外,Spring Boot 仍然是基于Spring的,建议在赶完工之后深入学习下Spring,有兴趣可以看看我的 Spring 4 官方文档学习(十一)Web MVC 框架 .欢迎探讨,笑~

Spring Boot 探索系列 - 自动化配置篇

26. Logging Prev  Part IV. Spring Boot features  Next 26. Logging Spring Boot uses Commons Logging for all internal logging, but leaves the underlying log implementation open. Default configurations are provided for Java Util Logging,Log4J, Log4J2 an

spring boot实战(第十五篇)嵌入tomcat源码分析

嵌入tomcat源码分析 在启动spring boot工程时利用@SpringBootApplication注解,该注解启动@EnableAutoConfiguration自动配置,加载META-INF/spring.factories文件 # Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfiguration=org.springframework.boot.autoconfigure.admin.Spri

Spring Boot 2.0.1 入门教程

简介 Spring Boot是Spring提供的一套基础配置环境,可以用来快速开发生产环境级别的产品.尤其适合开发微服务架构,省去了不少配置麻烦.比如用到Spring MVC时,只需把spring-boot-starter-web依赖添加到Maven依赖中即可.另外它还有如下特性: 创建独立的Spring项目 内置Tomcat, Jetty,Undertow 初始POM配置文件以简化Maven配置 尽可能的自动配置Spring 提供生产环境功能,如统计,健康检查和外部配置 无需XML配置和代码生

Spring Boot(1): 快速入门

Spring Boot 简介 Spring Boot非常简单易用,我们只需要很少的配置,就可以使用Spring Boot快速的搭建基于Spring的生产级程序.Spring Boot提供了一种特殊的方式管理第三方依赖包,当我们需要使用别的框架时,只需要使用Maven依赖进来,就自动添加了需要的功能.我们使用Spring Boot创建的程序可以直接java -jar启动,也可以部署war包启动,也可以通过提供的命令行工具运行spring scripts来启动. 第一个Spring Boot程序 S

Spring Boot教程34——Docker入门

Spring Data介绍 Spring Data项目是Spring用来解决数据访问问题的一揽子解决方案.Spring Data包含了大量关系型数据库及非关系型数据库的数据访问解决方案.Spring Data使我们可以快速且简单地使用普通的数据访问技术及新的数据访问技术. Spring Data包含的子项目如下: Spring Data JPA org.springframework.data spring-data-jpa 1.8.1.RELEASE Spring Data MongoDB o

Spring Boot教程(一):入门

使用maven构建项目 1. 先在系统中安装好开发环境,本教程使用Eclipse Photon 和 Java JDK 1.8 进行开发 2. 访问连接https://start.spring.io/,选择"Switch to the full version.",输入项目的基本信息,Java Version选8,如下图,最后点击Generate Project下载SpringBoot的基本结构,并解压 3. 打开Eclipse,选File -> Import -> Mave