文章来源:https://www.cnblogs.com/junyang/p/8151802.html

spring boot入门 -- 介绍和第一个例子

“越来越多的企业选择使用spring boot 开发系统,spring boot牛在什么地方?难不难学?心动不如行动,让我们一起开始学习吧!”

使用Spring boot ,可以轻松的创建独立运行的程序,非常容易构建独立的服务组件,是实现分布式架构、微服务架构利器。Spring boot简化了第三方包的引用,通过提供的starter,简化了依赖包的配置。

Spring boot的优点

  • 轻松创建独立的Spring应用程序。
  • 内嵌Tomcat、jetty等web容器,不需要部署WAR文件。
  • 提供一系列的“starter” 来简化的Maven配置。
  • 开箱即用,尽可能自动配置Spring。

spring boot 快速入门

通过构建简单的REST应用,了解spring boot的开发基本流程,验证其简单、易用特性。

环境要求

Spring Boot 2.0.0.BUILD-SNAPSHOT 要求 Java 8 和 Spring Framework 5.0.2以上,Maven 3.2 以上或者Gradle 4。

本文使用 Spring Boot 1.5.9 、 Java8 和 Spring Framework 5.0.2.RELEASE以上,Maven 3.2。开发工具使用sping官方提供的spring suit tool 3.9.1(STS)。

创建项目

在STS中,通过NEW->Spring starter project创建spring boot 项目。

输入maven的group 和artifact。

选择spring boot版本和starter

点击下一步,进入如下界面。

选择spring boot的版本,这里选择1.5.9 版本。

选择starter,通过搜索找到web 并勾选。点击完成。

创建项目的结构

点击finish 按钮。创建项目如下:

目录结构如图。

  • Src/main/java。编写代码存放的目录。自动生成了程序入口代码 SpringBootDemo1Application.java。
  • Src/main/resources。资源文件存放目录。自动生成了配置文件 application.properties
  • Src/test/java。测试代码存放目录。自动生成了测试代码SpringBootDemo1ApplicationTests.java

POM文件说明

spring boot项目默认使用maven来构建,生成的POM文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?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.yuny</groupId>
    <artifactId>demo1</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>spring-boot-demo1</name>
    <description>Demo project for Spring Boot</description>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
        <relativePath/>
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <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-starter-parent为父亲项目

这种方式可以比较容易的使用父项目中的starters的依赖。 当然也可以不用继承spring-boot-starter-parent为父亲,这种方式在以后我们会介绍。

1
2
3
4
5
6
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.9.RELEASE</version>
    <relativePath/>
</parent>

引入web依赖

Web starter依赖引入,会增加web容器、springweb、springmvc、jackson-databind等相关的依赖。

1
2
3
4
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

依赖层级关系如图

引入测试依赖

1
2
3
4
5
<dependency>
    <groupId>org.springframework.boot</groupId>    
        <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

启动程序SpringBootDemo1Application 说明  

我们通过此类的main函数来启动spring boot程序。

启动程序SpringBootDemo1Application是自动生成的,代码如下:

@SpringBootApplication
public class SpringBootDemo1Application {public static void main(String[] args) {SpringApplication.run(SpringBootDemo1Application.class, args);}
}

其中是@SpringBootApplication组合注解,兼备了@EnableAutoConfiguration和@ComponentScan 注解的功能。

增加一个controller

在包com.yuny.demo1.controller下面增加类SampleController

1
2
3
4
5
6
7
@RestController
public class SampleController {
    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }
}

运行启动程序后,访问http://localhost:8080/就可以访问这个controller的功能了。

启动很简单,直接选择SpringBootDemo1Application.java文件,使用java application方式运行即可:

访问效果:

测试

增加一个测试类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
mport static org.hamcrest.CoreMatchers.equalTo;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = MockServletContext.class)
@WebAppConfiguration
public class SampleControllerTest {
    private MockMvc mock;
     
    @Before
    public void setUp() throws Exception {
        mock = MockMvcBuilders.standaloneSetup(new SampleController()).build();
    }
    @Test
    public void testHome() throws Exception {
        mock.perform(MockMvcRequestBuilders.get("/").accept(MediaType.APPLICATION_JSON))
            .andExpect(status().isOk())
            .andExpect(content().string(equalTo("Hello World!")));
    }
}

 

本文案例代码地址

https://github.com/junyanghuang/spring-boot-samples/tree/master/springb-01-first

spring boot 快速入门相关推荐

  1. 【720开发】 spring boot 快速入门

    spring boot 快速入门 通过构建简单的REST应用,了解spring boot的开发基本流程,验证其简单.易用特性. 环境要求 Spring Boot 2.0.0.BUILD-SNAPSHO ...

  2. 视频教程-Spring boot快速入门-Java

    Spring boot快速入门 十年项目开发经验,主要从事java相关的开发,熟悉各种mvc开发框架. 王振伟 ¥12.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 ...

  3. 芋道 Spring Boot 快速入门

    点击上方"芋道源码",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2019 超神之路,很肝~ 中文详细注释的开源项目 RP ...

  4. Spring boot快速入门:https://spring.io/quickstart网址翻译

    Spring boot快速入门官网:https://spring.io/quickstart 翻译: What you'll build You will build a classic " ...

  5. 【转】Spring Boot快速入门

    为什么80%的码农都做不了架构师?>>>    简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复 ...

  6. boot入门思想 spring_什么是Spring boot?Spring Boot快速入门以及Spring Boot实例教程

    转自:http://www.jianshu.com/p/d24bceea7665 简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候, ...

  7. Spring Boot快速入门(尚硅谷笔记)

    一.Spring Boot 入门 1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 2014,m ...

  8. spring boot快速入门

    1.什么是SpringBoot 一个javaweb的开发框架,和SpringMVC类似,对比其他javaweb框架的好处,官方说是简化开发,约定大于配置, you can "just run ...

  9. 第一篇:Spring Boot 快速入门篇

    小技巧: Spring Boot 集成周边技术3部曲 1.pom文件引入maven依赖 2.配置文件中配置相关信息 3.启动类上加注解 一.Spring Boot 构建项目有2种方式: Maven 构 ...

最新文章

  1. Java Build Tools: Ant vs Maven vs Gradle
  2. 苹果企业证书_今日更新:丨企业证书已更新丨苹果丨安卓软件下载说明丨
  3. SQL Server 2008中原生的分层数据类型:hierarchyid
  4. python 打开文件-Python 读文件
  5. SQL注入语法类型——报错注入
  6. karatsuba乘法
  7. Linux 技巧: Bash 测试和比较函数 (shell编程)
  8. Nginx之代理和负载均衡
  9. Protocol Buffer 序列化原理大揭秘
  10. 初涉SEO有感-房途网SEO
  11. 数据库 case wen条件语句的运用
  12. 360“隐私保护器”真相
  13. 服务器不能使用无线键盘,无线键盘突然没反应怎么回事_无线键盘没反应的解决方法...
  14. 基于bs4的python爬虫-链家新房(广州页面)
  15. python基于flask_sockets实现WebSocket
  16. Jeaf Dean万字长文回顾2020谷歌技术发展(上)
  17. 视频中地点位置标题文字标记介绍动画AE字幕模板
  18. 使用Python读取markdown文件并统计字数
  19. 佳能EOS20D本站真机评测 下
  20. JavaWeb练习题(含答案)

热门文章

  1. 小白的测试人生(三)小白如何进入IT行业及如何选择培训机构
  2. win10网络连接为地球禁用标志解决办法
  3. 网络安全进阶篇之免杀(十四章-9)MSF加密壳免杀过360
  4. 2014 360校园招聘技术类笔试题
  5. 开机内存占用过高解决方案
  6. Tk应用程序:密码输入框
  7. PDPS软件:机器人仿真动画视频输出功能介绍与使用方法
  8. 雷电2接口_USB、Type-C、雷电3都是怎么一回事?
  9. 获取用户输入到input的内容并传给后台拿数据
  10. 如何用MD5加密数据库的敏感数据?