环境
  eclipse 4.7
  jdk 1.8
  Spring Boot 1.5.2

一、自定义参数
通过注解直接获取配置文件application.properties中配置key的value
1、application.properties

wjykey=hahahatest

2、注解取值

package com.wjy.controller;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
public class UserController { private static Logger log = Logger.getLogger(UserController.class); @Value("${wjykey}")
private String wjykey; @RequestMapping("/getkey")
public String getkey() {
return wjykey;
} }

3、APP

package com.wjy;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
public class APP { public static void main(String[] args) {
SpringApplication.run(APP.class, args);
} }

4、测试验证:http://localhost:8080/getkey

hahahatest

二、多环境配置
在src/main/resources下面
主配置文件
application.propertie ==> spring.profiles.active=pre
附属不同环境配置:
application-test.properties:本地开发环境
application-sit.properties:测试环境
application-pre.properties:生产环境
application-prd.properties:生产环境

根据spring.profiles.active配置的后缀 取不同配置文件,从而切换不同环境

三、修改端口号
Spring Boot默认端口号是8080,这是可以修改的:
server.port=8888
应用上下文也可以修改:
server.context-path=/wjy

四、yml配置文件

1、优点:体现配置结构,减少字符数;以后主流都是yml类型配置;
2、语法:
  (1)k:(空格)v:表示一对键值对(空格必须有);
  (2)以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的
  (3)属性和值也是大小写敏感;
3、值的写法
(1)字面量:普通的值(数字,字符串,布尔),​ k: v:字面直接来写;
​字符串默认不用加上单引号或者双引号;
"":双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思
name: “zhangsan \n lisi”:输出;zhangsan 换行 lisi
'':单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据
name: 'zhangsan \n lisi':输出;zhangsan \n lisi

(2)对象、Map(属性和值)(键值对):k: v:在下一行来写对象的属性和值的关系;注意缩进
对象还是k: v的方式

friends:
lastName: zhangsan
age: 20

行内写法:

friends: {lastName: zhangsan,age: 18}

(3)数组(List、Set):
用- 值表示数组中的一个元素

pets:
- cat
- dog
- pig

行内写法

pets: [cat,dog,pig]

4、properties和yml文件共存,可以一起使用

eclipse 安装Spring IDE 编辑yml配置 进行自动提示换行等等:

参考:https://blog.csdn.net/qq_37909141/article/details/86612342

【Spring Boot学习之七】自定义参数&多环境配置&修改端口号&yml的更多相关文章

  1. Spring boot项目maven的profile多环境配置不自动替换变量的问题解决

    Spring boot项目maven的profile多环境配置不自动替换变量的问题解决   在网上找了好久,配置都很简单,可是我的程序就是不能自动替换变量,最终单独测试,发现原来是引用spring b ...

  2. spring boot 学习笔记(三)之 配置

    一:概述 在Spring boot 中根据业务需求,我们往往会在不同地方配置我们所需的key-value 配置项,配置文件存在不同的地方的场景如下: (1) 默认存在 application.prop ...

  3. Spring Boot 学习笔记(六) 整合 RESTful 参数传递

    Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spring Boot 学习笔记(二) 整合 log4j2 Spring Boot 学习笔记 ...

  4. Spring Boot 2.4版本前后的分组配置变化及对多环境配置结构的影响

    前几天在<Spring Boot 2.4 对多环境配置的支持更改>一文中,给大家讲解了Spring Boot 2.4版本对多环境配置的配置变化.除此之外,还有一些其他配置变化,所以今天我们 ...

  5. Spring Boot 学习系列(08)—自定义servlet、filter及listener

    此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 传统的filter及listener配置 在传统的Java web项目中,servlet.filter和li ...

  6. Spring Boot 学习(3)

    文 by / 林本托 Tips 做一个终身学习的人. Tips 代码路径:https://github.com/iqcz/Springbootdemo/tree/master/code01/ch3 W ...

  7. Spring Boot学习笔记2——基本使用之最佳实践[z]

    前言 在上一篇文章Spring Boot 学习笔记1——初体验之3分钟启动你的Web应用已经对Spring Boot的基本体系与基本使用进行了学习,本文主要目的是更加进一步的来说明对于Spring B ...

  8. spring boot 学习(十四)SpringBoot+Redis+SpringSession缓存之实战

    SpringBoot + Redis +SpringSession 缓存之实战 前言 前几天,从师兄那儿了解到EhCache是进程内的缓存框架,虽然它已经提供了集群环境下的缓存同步策略,这种同步仍然需 ...

  9. 转载:spring boot学习

    Spring Boot学习 Spring Boot是为了简化Spring应用的创建.运行.调试.部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置. 简单来说,它提 ...

随机推荐

  1. async await 总结

    1.async await成对出现,await再async定义的函数内 2.async定义的是函数 3.async 返回一个Promise 4.async 函数中 return 的结果将作为回调的参数 ...

  2. ThreadLocal如何回收value,什么时候回收?(学习笔记)

    1)ThreadLocal如何回收value,什么时候回收?从ThreadLocal中的内部类分析:① static class ThreadLocalMap { /** * The entries ...

  3. React于React native的渲染机制

    面向virtual DOM编程 vs 面向native componet编程: 状态编程引起的UI变化会全部提交到native compnent然后走平台原来的渲染流程. The DOM is jus ...

  4. IDEA连接Oracle数据库

    连接Oracle的前提是导入了相关的jar或者依赖 下面是连接数据库的操作 如果出现了下面的画面,就说明连接成功

  5. 破解EXCEL工作表保护密码

    神技 破解EXCEL工作表保护密码 http://www.mr-wu.cn/crack-excel-workbook-protection/ 我们可以通过新建工作本,来创建一个新的工作本来创造新的宏而 ...

  6. C# 按行读取文件 从某行开始取

    ; FileStream fs = new FileStream(e.FullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); u ...

  7. React 引入import React 原理

    本质上来说JSX是React.createElement(component, props, ...children)方法的语法糖. 所以我们如果使用了JSX,我们其实就是在使用React,所以我们就 ...

  8. Netflix-mantis 实时数据流开发平台

    mantis 是netflix 开源的已经在netflix 使用了多年的实时流处理平台,目前从官方文档的介绍,在netflix使用场景很多 使用场景 上下文报警 监控netflix 的微服务 异常追踪 ...

  9. Entity Framework Core Query Types

    This feature was added in EF Core 2.1 Query types are non-entity types (classes) that form part of t ...

  10. Linux下g++编译thread出错的的解决方法

    错误如下图所示: 因为thread是C++11新加入的特性,所以我们在用g++编译的时候不能直接用,需要在g++后面加上 -std=c++0x -pthread 如果是gcc编译多线程的话则应该要用 ...