应用配置文件不可用 steam,steam应用文件夹
第01章Spring-Boot应用程序文件应用程序配置文章目录第01章Spring-Boot应用程序文件应用程序配置前言目标环境随机值配置属性占位符应用程序配置文件加载顺序应用程序配置文件键值对覆盖常用配置应用程序端口配置时间格式配置时区设置多环境配置的好处多环境配置属性多环境配置YAML多环境配置两种配置模式的比较如何使用高级配置第一章,配置模式二, 如何实现多环境配置三、配置信息加载顺序四、自定义参数五、参数引用六、使用随机数七、命令行参数七、命令行参数
序
为什么要使用 Spring-Boot?
请参考官方文件。
什么是 Spring-Boot?
请参考官方文档。
官方地址
https://spring.io/projects/spring-boot
在Docker中完成目标Jenkins的安装和配置。安装在Docker中的Jenkins可以正常向外界提供服务。能够在外部开发环境中正常访问和使用Jenkins持续集成服务。环境* * VMware:* * VMware workstation 14 pro
**Linux:**CentOS7.4
**Docker:**18.06.0-ce,build 0ffa825
* *詹金斯:* *詹金斯
**JDK:**jdk1.8.0_172
**弹簧靴:**2.0.4
* * Eclipse:* * Eclipse neon . 3(4 . 6 . 3)
spring-tool-suite:
版本:3.8.4 .发布
内部版本号:201703310825
平台:Eclipse Neon.3 (4.6.3)
**Maven:**3.5.0
随机值配置XXX . secret=$ { random . Value } XXX . number=$ { random . int } XXX . bignome=$ { random . long } XXX . number . less . ten=$ { random . int(10)} XXX . number . in . range=$ { random . int[1024,65536]}可以使用注释读入应用程序代码:@Value(value=${xxx.secret} )
注意:出现黄点提示,提示您配置元数据,这是可选的。
属性占位符当使用application.properties中的值时,它们将被现有环境过滤,因此您可以引用以前定义的值(例如,系统属性)。
Xxx。name=www . Google . com XXX . desc=$ { XXX . name }是域名应用配置文件加载顺序应用配置文件,加载按照优先级排序,高位会覆盖低位。
当前目录下的/config子目录
当前目录
类路径下的/config包
类路径根路径(根)
该列表按优先级排序(列表中的高位将覆盖低位)
应用程序配置文件的键值对覆盖应用程序配置文件的加载顺序。相同的键-值对覆盖值,后一个覆盖前一个。
@TestPropertySource注释命令行参数Java系统属性(System.getProperties())操作系统环境变量只随机提供。*中包含的属性将在打包的jar外部生成RandomValuePropertySource的应用程序配置文件(application.properties,包括YAML和配置文件变量)和一个应用程序配置文件(application.properties,包括YAML和配置文件变量)注释@Configuration类上@PropertySource的默认属性(通过使用spring application . setdefaultproperties指定)。常用配置应用端口配置server.port=8090时间格式化配置spring:专用蘑菇。时区:亚洲/上海聚焦香菇。日期格式:yyyy-MM-dd HH:mm:ss时区设置春季:聚焦香菇。时区:亚洲/上海注意:使用YAML代替属性,冒号后加一个空格。
多环境配置多环境配置的好处1。不同的环境配置可以配置不同的参数。
2.易于部署,提高效率并减少错误。
属性多环境配置1。配置激活选项
active=dev
2.添加其他配置文件
application-dev . properties application-test . properties application-prod . properties application . properties YAML多环境配置1 .配置激活选项
春天:配置文件:活动:开发2。在配置文件中添加三个英文破折号来区分它们。
Spring两种配置方式的比较:Profiles: Dev Properties配置多个环境需要添加多个配置文件,YAML只需要一个附件文件。
2.书写格式的区别,yaml比较简洁优雅。
YAML的缺点:不能通过@PropertySource注释加载。如果需要使用@PropertySource注释来加载值,应该使用属性文件。
如何使用Java-jar myapp . jar-spring . profiles . active=dev配置高级第一部分,配置方法1、Spring Boot 应用的配置内容都可以统一集中在src/main/resource/application.properties文件中进行配置。
根据我们介绍的不同Starter模块,可以定义容器端口号、数据库连接ixnxi、日志级别等各种配置信息。
2、支持现在被广泛推荐使用的YAML文件。
YAML(英语发音像骆驼)是一种用于表达数据序列的高度可读的格式。
全称是:YAML不是一种标记语言,不是一种标记语言。
YAML实际上的意思是:又一种标记语言(仍然是一种标记语言),但为了强调这种语言是以数据为中心的,而不是专注于标记语言,所以用反向缩写进行了重命名。
YMAL设计参考了很多语言,包括C语言,python,perl,并从XML,email的数据格式(RFC 2822)中得到启发。
YMAL特点:
YMAL的语法类似于其他高级语言,它可以简单地表达列表、哈希表、标量等形式。
它特别适用于通过使用空白缩进和依赖外观来表达或编辑数据结构、各种设置文档和文件轮廓。
适用于表达层次数据结构,也可以用精致的语法表达关系模型数据。
YMAL使用空白符号和线来划分数据,这使得它特别适合grep/python/perl/ruby。
巧妙地避开各种封闭符号,如引号、括号等。嵌套时会变得复杂而难以辨认。
3354维基百科
YAML采用的配置格式不像属性的配置那样表示为简单的键值对,而是表示为类似于轮廓的缩进。
通过使用spring.profies属性,YMAL还可以在一个文件中定义许多不同的环境变量。例如默认、指定等。
服务器:
端口:8881 —
春天:
Profiles:TestServer:Port:8882 \-Spring:Profiles:prod server:Port:8883注意:YMAL目前有一些缺点,不能通过@PropertySource注释加载配置。然而,当YAML将属性加载到内存中并按顺序保存时,因此当配置文件中的信息需要具有顺序含义时,YAML的配置方法比属性配置文件更有优势。
二。如何在Spring Boot实现多环境配置,多环境配置的文件名需要满足application-{profile}的格式。属性,其中{profile}对应于您的环境ID,例如:
应用程序开发属性:开发环境
应用程序-测试.属性:测试环境
应用产品属性:生产环境
至于加载哪个配置文件,需要通过spring.profiles.active属性在application.properties文件中设置。
您可以在启动时动态修改此配置属性值:
Java-jar XXX . jar-spring . profiles . active=prod
总结多种环境的配置思路:
1.在application.properties中配置常规内容,并设置spring.profiles.active=dev,将开发环境作为默认配置。
2.在应用程序-{profile}中配置各种环境傀儡。属性,她可以有更多的内容。
3.通过命令行激活不同环境的配置。
三。配置信息的加载顺序为了更合理地重写每个属性的值,Spring Boot使用了以下特殊的属性加载顺序:
1.命令行中传递的参数。
2.SPRING_APPLICATION_JSON中的属性。SPRING_APPLICATION_JSON是JSON格式的系统环境变量中配置的内容。
3.java:com/env中的JNDI属性。
4.Java的系统属性,可以通过System.getProperties()获取。
5.操作系统的环境变量。
6.通过随机配置的随机属性。*.
7.位于当前应用程序jar包之外的配置文件的内容,针对不同的{profile}环境,如application-{profile}。YMAL定义的属性或配置文件。
8.配置文件的内容位于当前的应用程序jar包中,针对不同的{profile}环境,如application-{profile}。YMAL定义的属性或配置文件。
9.当前应用程序jar包外的application.properties和YMAL的配置内容。
10.位于当前应用程序jar包中的application.properties和YMAL配置内容。
1.在由@Configuration批注修改的类中,由@PropertySource批注定义的属性。
12.使用spring application . setdefaultproperties定义的内容应用默认属性。
按照上面的顺序,优先级从高到低。数字越小,优先级越高。
如您所见,第7项和第9项从应用程序jar包外部读取配置文件。因此,实现外部配置的原理是设置外部配置文件的加载位置,以替换jar包中的配置内容。
这样我们项目的配置就变得非常干净,只需要把开发需要的配置放在本地,而不需要其他环境的配置,由相应环境的负责人来维护即可。
四。自定义参数除了在Spring Boot的配置文件中设置每个Starter模块的预定义配置属性外,还可以在配置文件中定义一些我们需要的自定义属性,这些属性在application.properties中定义:
you.name=kony
你.年龄=18岁
这些用户定义的参数可以通过应用程序中的@Value注释来加载。
@服务
公共类人员{
@Value(${you.name} )私有字符串名称;@ Value( $ { you . age } )private int age;吸气剂.作曲者.}
@Value annotation Load属性值支持两种配置表达式:
1.一种是占位符方法,格式为$ {…}。
2.另一种是使用# {…}格式的SpEL表达式(Spring Expression Language)。
动词(verb的缩写)参数引用可以使用占位符直接引用application.properties中的参数。
you.name=kony
你.年龄=18岁
person.desc=我的名字是${you.name},年龄${you.age}
不及物动词在一些特殊情况下使用随机数,希望有些参数不是每次加载都是一个固定值,比如密码,服务端口等。在Spring Boot的属性文件中,random int、long和string值可以用@{ random }配置来解释。不需要在程序中通过编码来实现这些逻辑。
配置方法如下:
#随机字符串
you.name=${random.value}
#随机整数
you.age=${random.int}
#随机长整型
you.long=${random.long}
#10内的随机数
you . random . scope 1=$ { random . int(10)}
#10-20随机数
you . random . scope 2=$ { random . int(10,20)}
此配置可以设置应用程序端口方案,以避免端口冲突。
七。如何用命令行参数启动Spring Boot应用程序?
使用命令:java -jar,不仅可以启动应用程序,还可以在命令行指定应用程序的参数,比如Java-jarxxx . jar-server.port=8080,直接在命令行设置server . port属性。
两个连续的减号——也就是在application.properties中赋值属性值的标识,相当于在文件中添加属性server.port=8080。
you.age=${random.int}
#随机长整型
you.long=${random.long}
#10内的随机数
you . random . scope 1=$ { random . int(10)}
#10-20随机数
you . random . scope 2=$ { random . int(10,20)}
此配置可以设置应用程序端口方案,以避免端口冲突。
七。如何用命令行参数启动Spring Boot应用程序?
使用命令:java -jar,不仅可以启动应用程序,还可以在命令行指定应用程序的参数,比如Java-jarxxx . jar-server.port=8080,直接在命令行设置server . port属性。
两个连续的减号——也就是在application.properties中赋值属性值的标识,相当于在文件中添加属性server.port=8080。
通过命令行修改属性值是Spring Boot的一个非常重要的特性。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。