前一章中使用了spring boot默认的端口8080,完成了一个API的服务。项目很小,代码量很少。这里来看看配置文件。这章会完成配置文件的使用,自定义属性的简单读取。
创建配置文件
IDEA创建resources文件夹
在src/main/目录中创建一个资源文件夹resources,IDEA创建resources文件夹的方法。
-
右键点击main,选择New>Directory。
菜单 -
创建文件夹
创建文件夹
文件夹
这时候是普通文件夹,要把它改成资源文件夹。
-
IDEA菜单File->Project Structure...
菜单 -
选择Modules
Modules -
在中间容器选中bhhello模块(刚创建resources文件的项目),选中src>main>resources文件夹,点击上面的Resources文字。resources文件夹就会变成资源文件夹。点击OK保存。
修改成资源文件夹
改成资源文件夹后的图标会变
目录
创建配置文件
在resources文件夹中创建一个文件,名称为application.yml,application.yml是spring boot 默认会找到的配置文件,不需要其它设置,这个文件中的配置项就可以生效。
配置文件目录
我们把项目的端口号改成80,那么在application.yml文件中添加如下内容
server:
port: 80
配置端口
右键HelloApplication启动项目(这个还是前一章的项目)
.yml配置文件是按照层级配置的,这里指的是server.port=80。server项配置的是一些与服务相关的属性。port是端口属性,后面跟的是值。还有name是服务名称。还有一些属性,这里不一一列出了。
启动项目
这时候端口已经是80了。
在浏览器中测试一下访问http://localhost/hello?name=biboheart
访问
一切正常。
spring boot 的配置项很多,可以到官网查。后面功能中用到的会讲解。
读取配置文件中的自定义属性
有时候,自己业务中希望有些属性可以根据不同的场景给出不同的值,只是几个枚举值不想存数据库,不想为了这个属性值去改代码。
可以的,来实现一下这个功能。
增加一个配置属性
在application.yml文件中增加custom.name=biboheart,下面代码3、4行与此同一个意思
server:
port: 80
custom:
name: biboheart
读取配置值
在HelloApplication.java中读取配置文件值。这里只是演示功能就用控制台打印结果了。修改文件内容如下:
package com.biboheart.demos;
import org.springframework.beans.factory.annotation.Value;
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;
@SpringBootApplication
@RestController
public class HelloApplication {
@Value("${custom.name:default}")
private String customName;
public static void main( String[] args ) {
SpringApplication.run(HelloApplication.class, args);
}
@RequestMapping(value = "/hello")
public String hello(String name) {
System.out.println("配置文件自定义配置的值是: " + customName);
return "hello " + name;
}
}
说明
@Value("${custom.name:default}")
这里表示从配置文件中读取custom.name的值,如果没有读取到custom.name(没有配置的话),值为default
System.out.println("配置文件自定义配置的值是: " + customName);
控制台中打印字符串
完成以上修改后,重启服务。
在浏览器中访问http://localhost/hello?name=biboheart。界面同前面。看控制台打印出配置文件值
可以试试修改配置文件中的这个值,重启服务后再访问就会改变。
改变值
打印结果
网友评论