一、系统配置文件

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

配置的示例如下

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

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

配置的示例如下

  1. server:
  2. port:
  3. context-path: /girl

二、YAML

YAML 语言教程

三、实际应用

1.@value 的用法

application.yml

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

HelloController中对应的注入方式

  1. @RestController
    public class HelloController {
  2.  
  3. @Value("${cupSize}")
    private String cupSize;
  4.  
  5. @Value("${age}")
    private String age;
  6.  
  7. @Value("${content}")
    private String content;
  8.  
  9. @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开头的配置

  1. package com.dechy.girl.girl;
  2.  
  3. import org.springframework.boot.context.properties.ConfigurationProperties;
  4. import org.springframework.stereotype.Component;
  5.  
  6. @Component
  7. @ConfigurationProperties(prefix="girl")
  8. public class GirlProperties {
  9. private String cupSize;
  10. private Integer age;
  11.  
  12. public String getCupSize (){
  13. return cupSize;
  14. }
  15.  
  16. public void setCupSize (String cupSize){
  17. this.cupSize = cupSize;
  18. }
  19.  
  20. public Integer getAge (){
  21. return age;
  22. }
  23.  
  24. public void setAge (Integer age){
  25. this.age = age;
  26. }
  27. }

对应的controller代码为

  1. package com.dechy.girl.girl;
  2.  
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.beans.factory.annotation.Value;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. import org.springframework.web.bind.annotation.RequestMethod;
  7. import org.springframework.web.bind.annotation.RestController;
  8.  
  9. @RestController
  10. public class HelloController {
  11.  
  12. @Autowired
  13. private GirlProperties girlProperties;
  14.  
  15. @RequestMapping(value = "/hello", method = RequestMethod.GET)
  16. public String say (){
  17. return girlProperties.getCupSize();
  18. }
  19. }

配置为

  1. server:
  2. port:
  3. girl:
  4. cupSize: B
  5. age:

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

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

内容分别如下

  1. server:
  2. port:
  3. girl:
  4. cupSize: B
  5. age:
  1. server:
  2. port:
  3. girl:
  4. cupSize: F
  5. age:

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

  1. spring:
  2. profiles:
  3. 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. serclet监听器

    1:监听servlet上下文 2:监听会话 3:监听请求 使用,必须是实现对应的接口,然后在web.xml中配置自己写的监听器的实现类 过滤器之后,servlet之前(有待深入研究) 下一集预告:过滤 ...

  2. 3DMAX 批量 场景 对象 导出 .X格式 脚本

    一.首先你需要下载一个 Total Commader文件管理软件.利用这个软件你可以收集文件夹下包含子文件夹下的max文件(或完整路径)打开TotalCMD后使用查找文件:(如图红框中的操作)1. 2 ...

  3. 二,Request和Response

    概述 在DRF中,引入了一个Request和Response对象进行请求和响应,这两个对象分别继承于Djaong中常规的HttpRequest和SimpleTemplateResponse,相比其父类 ...

  4. linux下各权限的细分

    PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的li ...

  5. NCBI之gene系列

    1.基因系列中的data索引 2.基因ID之间的转换 对于生信,依托于别人的工具不如自己动手,由于研究发表的滞后性,往往很多工具提供的转换并不是最新的,况且开发者水平也参差不齐,理解原理才能让你来去自 ...

  6. with check(转)

    假如我要为一个表中添加一个外键约束.语法如下 alter table  dbo.employee with check add constraint [FK_employeeno]  foreign ...

  7. AutoIncrement无法设置的问题

    [AutoIncrement无法设置的问题] 下图红色处始终无法勾选Auto_Increment 解决方法是在详细列表里勾选. 链接:http://stackoverflow.com/question ...

  8. SimpleAdapter用法

    [SimpleAdapter用法] public class TestSimpleAdapter extends Activity { @Override protected void onCreat ...

  9. dbcp第一次获取连接的时间问题

    最近优化代码,发现第一次调用数据库连接时非常慢,往后便不再发生.经了解,数据库连接是用dbcp管理的,想在网上查找答案,但没有找到.在某人的提醒下决定研究源代码: 部分源代码如下(BasicDataS ...

  10. 第十一章 串 (b1)串匹配