一、系统配置文件

1.application.properties是新建springboot项目后默认得配置文件

配置的示例如下

server.port=
server.context-path=/girl

2.推荐使用application.yml的方式

配置的示例如下

server:
port:
context-path: /girl

二、YAML

YAML 语言教程

三、实际应用

1.@value 的用法

application.yml

server:
port: 8082
cupSize: B
age: 18
content: "cupSize: ${cupSize}, age: ${age}"

HelloController中对应的注入方式

@RestController
public class HelloController { @Value("${cupSize}")
private String cupSize; @Value("${age}")
private String age; @Value("${content}")
private String content; @RequestMapping(value = "/hello", method = RequestMethod.GET)
public String say (){
return cupSize+","+age+";"+content;
}
}

浏览器输出为B,18;cupSize: B, age: 18

2.@component 和@ConfigurationProperties

创建实体GirlProperties,其中(prefix="girl")代表适配 配置文件中所有girl开头的配置

package com.dechy.girl.girl;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; @Component
@ConfigurationProperties(prefix="girl")
public class GirlProperties {
private String cupSize;
private Integer age; public String getCupSize (){
return cupSize;
} public void setCupSize (String cupSize){
this.cupSize = cupSize;
} public Integer getAge (){
return age;
} public void setAge (Integer age){
this.age = age;
}
}

对应的controller代码为

package com.dechy.girl.girl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; @RestController
public class HelloController { @Autowired
private GirlProperties girlProperties; @RequestMapping(value = "/hello", method = RequestMethod.GET)
public String say (){
return girlProperties.getCupSize();
}
}

配置为

server:
port:
girl:
cupSize: B
age:

3.多环境使用不同的配置文件

将resources下的application.yml复制为application-dev.yml和application-prod.yml

内容分别如下

server:
port:
girl:
cupSize: B
age:
server:
port:
girl:
cupSize: F
age:

将application.yml修改为,代表我们使用dev这个配置

spring:
profiles:
active: dev

但是这样改使用仍然很麻烦,解决方法如下

使用如下方式启动

java -jar target/girl-0.0.1-SNAPSHOT.jar --spring.profile.active=dev

spring boot 项目属性配置的更多相关文章

  1. Spring Boot项目属性配置

    接着上面的入门教程,我们来学习下Spring Boot的项目属性配置. 1.配置项目内置属性 属性配置主要是在application.properties文件里配置的(编写时有自动提示)这里我们将se ...

  2. 寻找写代码感觉(二)之 Spring Boot 项目属性配置

    一.前言 写代码就和恋爱一样,有反馈就要趁热打铁,搞完了项目搭建,接下来就来搞搞项目配置. 二.IDEA设置 1.编码配置 这里所说的就是代码的编码格式,你可以不设置,但是可能要面临的是,很多未知的麻 ...

  3. Spring Boot 项目 Maven 配置

    在配置基于Maven的Spring Boot项目的过程中,打包运行出现了一系列错误. 比如: mvn 中没有主清单属性.java.lang.NoClassDefFoundError: org/spri ...

  4. idea下新建Spring Boot项目并配置启动

    一.操作步骤 ①使用idea新建一个Spring Boot项目 ②修改pom.xml ③修改application.properties ④修改编写一个Hello Spring Boot的Contro ...

  5. spring boot项目mybatis配置注解+配置文件

    maven依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-ja ...

  6. IDEA新建一个Spring Boot项目

    Maven构建项目模板 maven构建的是maven风格的纯净模板,要转变成spring boot项目需要自己添加依赖等配置. mvn archetype:generate: Maven插件原型是一个 ...

  7. spring boot项目遇到 'lower_case_table_names' 的解决办法

    今天自己搭建了spring boot项目,配置的是mysql数据库,启动时报如下错误 Mon Jan 22 23:31:40 CST 2018 WARN: Establishing SSL conne ...

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

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

  9. 让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean

    让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean 问题描述 实现思路 思路一 [不符合要求] 思路二[满足要求] 思路三[未试验] 问题描述 目前我工作环境下,后端主要的框架 ...

随机推荐

  1. 关于ubuntu14.04,忘记root密码解决方案(经测试,内核3.13和4.2可行)。

    网上已经有很多方案啦,我这里就不画蛇添足,直接上链接: http://jingyan.baidu.com/article/c843ea0b9e851077931e4aea.html 注意,有些机子没有 ...

  2. java-学习5

    基础运算与自增自减运算 1.基础运算 int 整型 double 浮点 package day06; public class operation { public static void main( ...

  3. bootstrap datatable

    <table id="screenTable" data-toggle="table"> <thead> ... </thead& ...

  4. numpy 矩阵变换 reshape ravel flatten

    1. 两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵,而numpy.ravel()返回的是 ...

  5. Rendering with Replaced Shaders

    [Rendering with Replaced Shaders] 1.RenderType tag RenderType tag categorizes shaders into several p ...

  6. unity延时方法

    http://www.cnblogs.com/louissong/p/3832960.html 借鉴上面的博客中的内容: Invoke(methodName: string, time: float) ...

  7. 四层协议给站点设置独享ip

    四层协议给站点设置独享ip 初始化为四层节点 设置独占ip 设置独享的产品不用预设置分组 增加站点 创建站点后,在分组解析里会自动创建一个以站点名为名称的分组并且会自动分配一个独享的ip在这个分组里( ...

  8. sqlserver 当前时间减去30天

    参考 https://zhidao.baidu.com/question/750666819064717772.html select dateadd(dd,-30,getdate()) from 表 ...

  9. Vue.js 生态之vue-router

    vue-router是什么~~ vue-router是Vue的路由系统,定位资源的,我们可以不进行整页刷新去切换页面内容. vue-router的安装和基本配置 vue-router.js 可以下载 ...

  10. npm、webpack、vue-cli快速上手版

    node.js和npm npm的安装和更新 Node.js下载安装,npm自带的包管理工具. 查看安装版本信息: node -v 查看node.js版本信息 npm -v 查看npm版本信息 更新np ...