注解@componenthtml
@valuejava
例如web
若配置文件为application-dat.ymlspring
book.name = spring
book.author = abc
也能够用直接配置前半段配置字符。springboot
此两种方配置相同。app
在配置文件中还以引用参数dom
book.name = spring
book.info = $
那么book.info 就等于 spring chubanshemaven
能够使用随机数函数
book.page = $
因而可知springboot能够用在配置中使用一些固定的函数微服务
由于开发环境中须要开发, 测试,uat测试,生产各个环境运行并查问题
所以在多套环境的状况下,springboot支持配置多个文件,而后指定生效一个配置文件
例如
在资源下面写多个yaml文件
application-dat.yml 生产环境配置文件
application-self.yml;本身开发环境文件
application-test.yml;测试环境配置文件
而后在写一个总的yml 配置文件让他们生效
spring.progiles.active = dat //则你项目启动的时候使用的时候生产配置文件
(a)在配置文件中多一个空格都不行
(b)在冒号后面就要跟一个 空格
(a) springboot项目用maven install 打成jar包以后 能够用 Java -jar ***.jar的命令直接启动;
由于springboot里自带tomact。
(b)使用命令行启动,在启动时能够配置修改属性
例如
java -jar ***.jar --book.name = spring cloud
1.命令行参数
2.来自SPRING_APPLICATION_JSON
的属性
3.java:comp/env中的 JNDI 属性
4.Java系统环境变量
5.操做系统环境变量
6.RandomValuePropertySource,随机值,使用
random.*` 来定义
7.jar 包外的 Profile 配置文件,如 application-{profile}.properties 和 YAML 文件
8.jar 包内的 Profile 配置文件,如 application-{profile}.properties 和 YAML 文件
9.jar 包外的 Application 配置,如 application.properties 和 application.yml 文件
10.jar 包内的 Application 配置,如 application.properties 和 application.yml 文件
11.在@configuation注解修改的类中,经过@propertyssource 注解定义属性
12.应用默认属性,使用springAppliaction.setDefaultPropeorties定义的内容
数字越小,优先级越高。
此段中须要学习的额外知识
JNDI 的理解 - zhchoutai - 博客园 http://www.javashuo.com/article/p-peylzpbf-a.html
**JNDI 把这些问题交给J2EE容器(比方weblogic)来配置和管理,程序猿仅仅需要对这些配置和管理进行引用就能够。 是为了解耦,是为了开发出更加可维护、可扩展。
J2EE 规范要求所有 J2EE 容器都要提供 JNDI 规范的实现。