代码改变世界

Spring Boot入门(一):使用IDEA创建Spring Boot项目并使用yaml配置文件

2019-04-03 14:40 by 申城异乡人, ... 阅读, ... 评论, 收藏, 编辑

由于公司最近在做技术转型(从.Net转Java),因此自己也开启了学习Java之路。学习Java怎么能不学习这几年这么火的Spring Boot框架,由于自己有总结的习惯,因此会把学习的过程以博客的形式分享出来,

一来加深自己理解,二来希望能帮助到有需要的同学。

文章中如有不对之处,欢迎各位指出,届时我会及时修改。

1.创建Spring Boot项目

说明:我这里使用的开发软件是IDEA。

首先在启动页选择"Create New Project"

img

然后左侧选中“Spring Initializr”,右侧选择好SDK的版本,然后点击“Next”

img

这里首先会看到默认的项目信息

img

按照自己的需要修改Group(可理解为组织,一般为域名反过来,如zwwhnly.com,这里就是com.zwwhnly)和Artifact(可理解为项目名)

我这里将Group修改为:com.zwwhnly

Artifact修改为:springbootdemo

然后点击下一步“Next”

img

这里我们先选择好依赖项“Web”和Spring Boot的版本,如图默认为2.1.2,

然后点击下一步“Next”

img

修改好项目名称和项目路径后,点击完成“Finish”,如果路径不存在,可能会提示你是否要自动创建目录,点击OK即可

img

因为要加载一些依赖项,需要等一会才能创建成功,项目创建好的结构为:

img

找到启动类SpringbootdemoApplication(一般为Group+Artifact+Application),看到默认代码如下:

package com.zwwhnly.springbootdemo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringbootdemoApplication {

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

在启动类中右键,运行项目,看到如下信息

img

打开浏览器,输入:http://localhost:8080/,会看到如下页面

img

暂时在启动类中写一个接口映射, 如下所示:

package com.zwwhnly.springbootdemo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@SpringBootApplication
public class SpringbootdemoApplication {

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

    @RequestMapping
    public String hello() {
        return "Hello Spring Boot!";
    }
}

再次运行项目,访问http://localhost:8080/,会看到如下信息,代表项目可以成功访问。

img

说明:关于@RestController和@RequestMapping在后续博客中讲解。

2.关闭Banner

其实刚刚项目启动时我们已经看到了Spring Boot的Banner,那么你不禁要问什么是Spring Boot的Banner呢?其实就是下图中红色标记的地方

img

也许有人会觉得每次启动都显示这些信息并没有实际意义,那么我们如何关闭它呢?

方式1:修改启动类main方法代码

原代码:

SpringApplication.run(SpringbootdemoApplication.class, args);

修改后:

SpringApplication springApplication = new SpringApplication(SpringbootdemoApplication.class);
springApplication.setBannerMode(Banner.Mode.OFF);
springApplication.run(args);

方式2:修改application.properties文件

默认情况下,新建的项目里application.properties文件是空的,增加如下配置:

spring.main.banner-mode=off

关闭后的效果如下图所示:

img

个人建议通过方式2修改配置文件的方式关闭。

3.使用yaml配置文件

Spring Boot默认生成的配置文件为application.properties,其实application.yml和application.properties差别并不大,只是层次结构明显,可读性更强,因此目前使用的更多一些。

我们假设本来application.properties的配置为:

server.port=8082

那么如何将配置文件切换为application.yml呢?

首先删除掉原来的默认配置文件application.properties,新增配置文件application.yml,新增方式如下:

img

img

img

修改application.yml为:

server:
  port: 8082

img

注意事项:port后面的:和8082之间是有一个空格的,不能省略

如果不小心将空格省略,其实IDEA也能识别出来,不过并不显示错误,也不影响启动,

我们现在把配置文件修改为错误的(把空格省略),然后启动项目

img

img

我们会发现项目虽然正常启动成功,不过配置的端口号8082并未生效,启动的还是默认的端口号8080。

因此使用yaml配置文件一定要注意值前面的空格问题。

4.源码地址

https://github.com/zwwhnly/springbootdemo.git,欢迎大家下载,有问题可以多多交流。

5.参考链接

使用idea创建第一个springboot项目

Spring Boot-关闭Banner

关闭spring boot的banner

SpringBoot yml 配置