[SpringBoot] - 配置文件的多种形式及优先级
- 与 @Bean 结合为属性赋值
- 与 @PropertySource (只能用于properties文件)结合读取指定文件
- 配置类 ===== 类似Spring配置文件
- 使用@Bean给容器中添加组件:
>
|
>
之前的@ConfigurationProperties(prefix = "person")默认从全局配置文件中获取值.
使用@PropertySource注解可以从自建的配置文件中获取值,((只能用于properties文件)
新建一个person.properties文件,将原本的application.properties中person的字段剪切过去.
在bean上这样声明:
@PropertySource(value = {"classpath:person.properties"})
public class Person {
同样能获取值

package com.example.demo11.config; import com.example.demo11.service.HelloService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; /**
* @Configuration : 指明当前类是一个配置类,就是来替代之前的Spring配置文件
* 在配置文件中用<bean></bean>标签添加组件.
*/
@Configuration
public class MyAppConfig { //将方法的返回值添加到容器中;容器中这个组件默认的id就是方法名
@Bean
public HelloService helloService(){
System.out.println("配置类@Bean给容器添加组件了.");
return new HelloService();
}
}

2.yml支持多文档块方式 ( 以 --- 隔开配置 用active激活某个文档块中的配置 )
多profile文档块模式:
application.yml :
server:
port: 8081
spring:
profiles:
# active: prod
active: dev #做为指定环境,激活哪个环境 --- server:
port: 8083
spring:
profiles: dev --- server:
port: 8084
spring:
profiles: prod #指定属于哪个环境 ---
3.激活指定profile
-
在配置文件中指定要激活哪个配置: ( application.properties )
application.properties :
#激活环境properties
spring.profiles.active=dev
-
命令行方式激活某配置 :
除了在IDEA的Terminal也可以右键target, [Show in Explorer],找到jar或war包文件目录,在路径上覆盖写入cmd回车即打开该文件目录的cmd

java -jar demoxxxxx.war --spring.profiles.active=dev

可以看到其运行端口已经换位dev的8083
-
配置IDEA的Edit Configurations设置 : ( Program arguments 程序参数 )
在IDEA的Edit Configurations设置: Program arguments 字段 :
--spring.profiles.active=dev

-
配置JVM ( java虚拟机 ) 参数 : ( VM options 虚拟机选项 )
-Dspring.profiles.active=dev

- file: ../config/
- file:../
- classpath:/config/
- classpath:/
[SpringBoot] - 配置文件的多种形式及优先级的更多相关文章
- [SpringBoot] - 配置文件的多种形式及JSR303数据校验
Springboot配置文件: application.yml application.properties(自带) yml的格式写起来稍微舒服一点 在application.properties ...
- SpringBoot配置文件的加载优先级顺序
application.properties加载 Spring Boot启动会扫描以下位置的application.properties或者application.yml文件作为Spring Boot ...
- SpringBoot 配置文件存放位置及读取顺序
SpringBoot配置文件可以使用yml格式和properties格式 分别的默认命名为:application.yml.application.properties 存放目录 SpringBoot ...
- SpringBoot——配置文件加载位置及外部配置加载顺序
声明 本文部分转自:SpringBoot配置文件加载位置与优先级 正文 1. 项目内部配置文件 spring boot 启动会扫描以下位置的application.properties或者applic ...
- 【SpringBoot】SpringBoot配置文件及YAML简介(三)
SpringBoot配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的; application.properties application.yml 配置文件的作用:修改Spr ...
- springboot配置文件之yml的语法学习
springboot配置文件(.yml/.yaml.properties) YAML(YAML Ain't Markup Language) YAML A Markup Language:是一个标记语 ...
- springboot 配置文件的加载顺序
springboot 配置文件的加载顺序1.在命令行中传入的参数.2. SPRING APPLICATION JSON中的属性. SPRING_APPLICATION—JSON是以JSON格式配置在系 ...
- SpringBoot学习笔记(三)——Springboot配置文件
SpringBoot不像之前用spring+springMVC做项目的时候,他不需要配置大量的看上去很乱很复杂的xml配置文件.在SpringBoot中你可以通过java代码和注解配置项目,也可以通过 ...
- SpringBoot配置文件(2)
六.配置文件加载 SpringBoot 启动会扫描以下位置的application.properties或者application.yml文件作为SpringBoot的默认配置文件 file:./co ...
随机推荐
- 【Android N 7.1.1】 ActivityManagerService 获取cpu状态
void updateCpuStatsNow() { synchronized (mProcessCpuTracker) { mProcessCpuMutexFree.set(false); fina ...
- hdu1024 Max Sum Plus Plus[降维优化好题(貌似以后可以不用单调队列了)]
Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- Windows Phone 有关独立存储(一)
private const string foldername = "temp1"; private const string filename = foldername + &q ...
- ExtJS学习
ExtJS是一门比较纠结的框架,自己不太熟,因为现在在做一些老项目,所以没办法要学点.记录下.其实Ext也不是很难,主要是多查查API,了解其基本的用法,然后慢慢去学习,学成之后做管理系统还是很有优势 ...
- 日志记录---log4j详解
Apache官方项目地址 通常的日志记录的缺点是会减慢程序的运行速度,如果用普通的System.out的话影响视觉效果,另外解耦度也不好,而log4j的设计则使得日志记录变得可靠快速和可拓展性好. l ...
- linux :故障提示:Error:No suitable device found: no device found for connection "System eth0"
解决:1./etc/udev/rules.d/70-persistent-net.rules 中的mac地址2.网卡配置文件ifcfg-eth0中的mac地址3.ifconfig中的mac地址以上三个 ...
- OC开发_代码片段——代码编写自定义的tableViewCell
一.介绍 之前已经实现过通过简单的XIB文件来自定义我们的tableViewCell,包括每一步的步骤和代码:http://www.cnblogs.com/daomul/p/4355999.html ...
- docker :no such file or directory
---恢复内容开始--- 其中最主要的问题是:details: (open /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: ...
- C# get post 的方法
#region GET POST /// <summary> /// Get String data = GetString(URL , "PKEY=" + Pkeyl ...
- CH0601 Genius ACM【倍增】【归并排序】
0601 Genius ACM 0x00「基本算法」例题 描述 给定一个整数 M,对于任意一个整数集合 S,定义“校验值”如下: 从集合 S 中取出 M 对数(即 2∗M 个数,不能重复使用集合中的数 ...