springboot 是习惯优于配置,抛弃SSM中繁琐的配置内容,大量的基础配置由框架的完成。所以我们现在没有用任何的配置文件,可以快速的将项目运行起来。

我们找到web模块中的application.properties文件 这是一个全局的配置文件,存放于项目的中resources目录中。配置文件支持properties文件和yml文件。yml文件的层级语法更要清晰写。

我们来删除项目中的application.properties的文件(如果项目中存在的话),新建一个application.yml文件,修改文件内容如下

 server:
port: 8001

重新启动项目,访问http://localhost:8001/getlist

注意下语法

1 yml层级接口,第二行的内容要加上一个tab键

2 第二行的:后边要加上一个空格 然后在去写上内容

我们会看到 正确的返回了JSON内容,而8080已经不能访问。这就是习惯优于配置,框架默认给我们的设置一个启动端口,不需要我们再去指定端口,但是我们依然可以重新配置来覆盖默认的内容。

自定义配置

有时候我们需要配置一些信息常量值

我们再次修改application.yml文件,内容如下

 server:
port: 8001 test:
test1: 哈哈
test2: 123456

修改Testcontroller中的代码,将我们写好的配置内容绑定到字段上,内容如下

 @RestController
public class Testcontroller { @Autowired
TestService testService; @Value("${test.test1}")
private String test1; @Value("${test.test2}")
private String test2; @GetMapping("/sayhello")
public String sayHello() {
return "Hello Word";
} @GetMapping("/getlist")
public List<TestDto> getlist(){
return testService.getTestList();
} @GetMapping("/gettest")
public String gettest(){
return test1+test2;
}
}

访问http://localhost:8001/gettest

看到返回值:哈哈123456

说明我们的配置文件已经生效了

多配置环境

一般我们在开发的过程中,不同的环境需要不同的配置文件。比如我们 数据库连接字符串,正式和测试,和开发环境中的都不一样

我们先创建三个文件

application-dev.yml  本地开发环境的配置文件

application-testyml  测试环境中的配置文件

application-prod.yml 正式环境的配置文件

我们再次修改这些内置文件内容如下

application.yml文件

 server:
port: 8001 spring:
profiles:
active: dev

application-dev.yml

 test:
test1: 开发环境
test2: 123456

application-prod.yml

 test:
test1: 正式环境
test2: 123456

application-test.yml

 test:
test1: 测试环境
test2: 123456

我们重新运行项目 访问http://localhost:8001/gettest

我们会看到返回值 :开发环境123456

我们再次修改active值为 test

再次访问 http://localhost:8001/gettest

我们会看到返回值 : 测试环境123456

说明我们修改的多环境已经生效了

我们在按照上一篇文章的方式进行项目打包

切换到web的tartget目录中执行命令

java -jar somefun-web-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

我们再次访问 http://localhost:8001/gettest

会发现返回内容:正式环境123456

同样的我们也可以在命令行中指定其他的环境参数值

这里只是列举了一些简单的使用方式,更加详细的配置内容可以关注SpringBoot官方文档https://docs.spring.io/spring-boot/docs/2.1.1.RELEASE/reference/htmlsingle/

最新文章

  1. phpstudy虚拟机配置
  2. LL(1)算法
  3. fedora 禁止nouveau加载
  4. php计算时间差/两个时间日期相隔的天数,时,分,秒.
  5. Jzzhu and Chocolate
  6. Problem 1008 Hay Points
  7. Kill 正在执行的存储过程
  8. 十大滤波算法程序大全(Arduino精编无错版)(转)
  9. C# vs TypeScript - 高级类型
  10. day5 liaoxuefeng---virtualenv、图形界面、网络编程、电子邮件
  11. 由AbstractQueuedSynchronizer和ReentrantLock来看模版方法模式
  12. linux 杀死进程
  13. Centos7 下搭建SVN + Apache 服务器
  14. c++中指针的指针和指针的引用的使用
  15. Java基础巩固——反射
  16. python解析Nginx访问日志
  17. 通过/dev/mem只能访问高端内存以下的内核线性地址空间
  18. 剑指Offer——二进制中1的个数
  19. Django REST framework 理解
  20. python 递归深度优先搜索与广度优先搜索算法模拟实现

热门文章

  1. PageAdmin CMS网站建设教程:如何创建及管理栏目?
  2. docker-compose批量管理docker容器
  3. Sort-242. Valid Anagram
  4. Volley源码解析
  5. [JavaScript] 根据字符串宽度截取字符串
  6. [Swift实际操作]七、常见概念-(2)点CGPoint和变形CGAffineTransform的使用
  7. SELECT 三级联动 [转]
  8. postgresql子查询优化(提升子查询)
  9. python学习笔记05-列表
  10. POJ 1083