网站建设设计制作包头广告设计专业学什么
2026/4/2 15:39:21 网站建设 项目流程
网站建设设计制作包头,广告设计专业学什么,关于建设网站与营销的好处,网站建设服务ysaigo很多时候#xff0c;我们项目在开发环境和生产环境的配置是不一样的#xff0c;例如#xff0c;数据库配置#xff0c;在开发的时候#xff0c;我们一般用测试数据库#xff0c;而在生产环境#xff0c;我们要用生产数据库#xff0c;这时候#xff0c;我们可以利用 p…很多时候我们项目在开发环境和生产环境的配置是不一样的例如数据库配置在开发的时候我们一般用测试数据库而在生产环境我们要用生产数据库这时候我们可以利用 profile 在不同的环境下配置用不同的配置文件或者不同的配置。Spring Boot 允许你通过命名约定按照一定的格式 (application-{profile}.properties) 来定义多个配置文件然后通过在 application.properties 通过 spring.profiles.active 来具体激活一个或者多个配置文件如果没有指定任何 profile 的配置文件Spring Boot 默认会启动 application-default.properties。一、具体配置实现方法参考如下在 application.properties 文件的同路径下创建不同的环境参数文件命名格式为application-{profile}.properties其中 {profile} 对应环境标识。如上图所示项目共配置了三个不同的环境分别为application-dev.properties开发环境application-test.properties测试环境application-prod.properties生产环境至于哪个具体的配置文件会被加载需要在 application.properties 文件中通过 spring.profiles.active 属性来设置其值对应 {profile} 值。修改 application.properties 文件内容指定生效的环境内容如下。spring.profiles.activedevspring.profiles.active 取值可为 dev、prod、test。上述配置指定开发环境配置文件有效即取 application-dev.properties 文件中的相关配置。启动时指定生效的 profiles 参数启动脚本示例如下所示。nohup java -Xms3g -Xmx3g -Xmn1g -Xss256k -XX:PrintGCDetails -XX:PrintGCDateStamps -Xloggc:/logdisk/gclog/gctest.log -jar test-1.0-SNAPSHOT.jar --spring.profiles.activeprod /dev/null 21 二、配置文件application.properties所在目录不同加载优先级也不同在 Spring Boot 源码文件spring-boot-2.1.3.RELEASE.jar中org.springframework.boot.context.config 包下的 ConfigFileApplicationListener 类中定义了默认配置文件和默认搜索路径也可以通过该类中的 setSearchLocations() 和 setSearchNames() 方法来设置其他的搜索位置或者设置其它配置文件名称。ConfigFileApplicationListener 是一个 ApplicationListener也是一个 EnvironmentPostProcessor。作为 ApplicationListener它监听了事件 ApplicationEnvironmentPreparedEvent 和 ApplicationPreparedEvent。ApplicationEnvironmentPreparedEvent 事件发生时它将 Spring Boot 内置配置的其他 EnvironmentPostProcessor 和自己放到一起排序然后应用到应用上下文环境对象上。该 EnvironmentPostProcessor 对应用上下文环境所做的操作就是读取配置文件将它们添加到应用上下文环境中去。ConfigFileApplicationListener 类所在的包路径如下图所示。ConfigFileApplicationListener 类部分源码如下所示。// Note the order is from least to most specific (last one wins) private static final String DEFAULT_SEARCH_LOCATIONS classpath:/,classpath:/config/,file:./,file:./config/;缺省情况下配置属性会从以下路径的 application.properties/yml 文件中读取classpath:/classpath:/config/file:./file:./config/如注释所言上述配置文件优先级由低到高重复的配置被高优先级覆盖不重复的配置互补。如下图所示application.properties 优先级从 1 到 4 递减。三、外部配置Spring Boot 也可以采用外部配置文件来配置不同环境的属性具体可以参考官方文档https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-external-config。截取部分文档内容如下完整文档可以阅读官网。文章参考7.springboot配置文件配置运行环境、放置位置https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-external-configSpringboot内置ApplicationListener–ConfigFileApplicationListener

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询