spring boot 项目属性配置
一、系统配置文件
1.application.properties是新建springboot项目后默认得配置文件
配置的示例如下
server.port=
server.context-path=/girl
2.推荐使用application.yml的方式
配置的示例如下
server:
port:
context-path: /girl
二、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 项目属性配置的更多相关文章
- Spring Boot项目属性配置
接着上面的入门教程,我们来学习下Spring Boot的项目属性配置. 1.配置项目内置属性 属性配置主要是在application.properties文件里配置的(编写时有自动提示)这里我们将se ...
- 寻找写代码感觉(二)之 Spring Boot 项目属性配置
一.前言 写代码就和恋爱一样,有反馈就要趁热打铁,搞完了项目搭建,接下来就来搞搞项目配置. 二.IDEA设置 1.编码配置 这里所说的就是代码的编码格式,你可以不设置,但是可能要面临的是,很多未知的麻 ...
- Spring Boot 项目 Maven 配置
在配置基于Maven的Spring Boot项目的过程中,打包运行出现了一系列错误. 比如: mvn 中没有主清单属性.java.lang.NoClassDefFoundError: org/spri ...
- idea下新建Spring Boot项目并配置启动
一.操作步骤 ①使用idea新建一个Spring Boot项目 ②修改pom.xml ③修改application.properties ④修改编写一个Hello Spring Boot的Contro ...
- spring boot项目mybatis配置注解+配置文件
maven依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-ja ...
- IDEA新建一个Spring Boot项目
Maven构建项目模板 maven构建的是maven风格的纯净模板,要转变成spring boot项目需要自己添加依赖等配置. mvn archetype:generate: Maven插件原型是一个 ...
- spring boot项目遇到 'lower_case_table_names' 的解决办法
今天自己搭建了spring boot项目,配置的是mysql数据库,启动时报如下错误 Mon Jan 22 23:31:40 CST 2018 WARN: Establishing SSL conne ...
- Spring boot项目maven的profile多环境配置不自动替换变量的问题解决
Spring boot项目maven的profile多环境配置不自动替换变量的问题解决 在网上找了好久,配置都很简单,可是我的程序就是不能自动替换变量,最终单独测试,发现原来是引用spring b ...
- 让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean
让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean 问题描述 实现思路 思路一 [不符合要求] 思路二[满足要求] 思路三[未试验] 问题描述 目前我工作环境下,后端主要的框架 ...
随机推荐
- 在iOS上使用ffmpeg播放视频
国外靠谱的有这几个:1.Mooncatventures group https://github.com/mooncatventures-group 2.KxMoviePlayer (use Open ...
- Maven项目之间的关系
1. 依赖关系 1.1 标签<dependency>把另一个项目的jar引入到当前项目 1.2 自动下载另一个项目所依赖的其他项目 2. 继承关系. 2.1 父项目是pom类型 2.2 子 ...
- Django2.0 path和re_path使用
Django2.0发布后,很多人都拥抱变化,加入了2的行列.但是和1.11相比,2.0在url的使用方面发生了很大的变化,下面介绍一下: 一.实例 先看一个例子: from django.urls i ...
- ABAP 字符串函数
CONCATENATE:合并字符串. CONCATENATE f1 … fn INTO g [SEPARATED BY h]. 1 * CONCATENATE合并字符串 2 DATA: c1(10) ...
- centos远程连接putty工具配置
Putty工具连接与使用步骤 作者:jason 登陆linux 一.关闭防火墙 输入命令 setup 完成后: 二.关闭selinux 输入命令 cd /etc/selinux 输入命令 vi co ...
- js-for (var in )遍历顺序乱了
存放的key 为如下: “01”,“02”,“03”,········“10”,“11”,“12” 遍历之后“10”,“11”,“12”, “01”,“02”,“03”,········ 解决办法:把 ...
- mui-当使用addeleventlisener()方法绑定事件时选择器无法绑定事件
在mui中绑定事件不能用jQuery或mui(“#XX”)的形式选取某个元素,而是document.getelementbyid()的形式 mui(“#XX”)可以使用on方法绑定事件
- win10 壁纸路径
C:\用户\用户名\AppData\Roaming\Microsoft\Windows\Themes\CachedFiles 原文: https://blog.csdn.net/qq_35040828 ...
- 检查WMI协议是否通的
在APM上的运行执行“wbemtest”,然后在上面的root\sivm前面加RPC不通的机器,先查WMI协议是否是通的
- C# delegate (001)
背景:一直不是很理解C#中的委托,也不是很清楚委托应用的业务场景,有可能和自己一直做B/S有关 业务描述:C/S,父窗口打开子窗口,子窗口把自己文本框里的值传个父窗口的文本框. 子窗体代码: //定义 ...