bpmnmodel 自定义
如何实现Spring Boot自定义配置文件详解
相信很多人使用Spring Boot的原因都是因为强大而又便捷的配置开发功能。在使用SpringBoot的过程中也是非常直观了感受到SpringBoot的自动配置带来的方便。再也不需要像是Spring那样编写大量的配置类或者是配置文件了。只需要在POM文件中引入对应的场景启动器Starter的依赖就可以完成对应场景的配置。
在之前的文章中我们提到过关于Spring Boot的yml配置文件。其主要的作用就是对于配置的自定义修改,例如可以配置数据库、日志等等。但是除了这些配置之外,它还有一些其他的配置。下面我们深入了解一下这些特性和具体的使用方法。
自定义属性的配置与加载通过@Value注解来实现
我们在使用SpringBoot的时候,可能会遇到一些自定义属性的功能,例如我们在开发小程序接口的时候可能会对小程序的APPID与密钥进行动态的配置。这个时候我们就需要定义一些自定义的属性。如下所示。
wx: appid: 12321312312 secretkey: ashfdqe30924dafdvabs
然后在配置类中可以通过 @Value("${属性名}")的方式来加载对应的配置。
@Componentpublic class WxProperties { @Value("${wx.appid}") private String appid; @Value("${wx.secretkey}") private String secretkey; // 省略相关代码}
接下来编写一个用于测试测控制类来调用相关的配置类获取配置信息。
@RestController@RequestMapping("/test")public class TestController { @Autowired private WxProperties wxProperties; @GetMapping("/info") public Map<String,Object> test(){ Map<String,Object> result = new HashMap<>(); result.put("appid",wxProperties.getAppid()); result.put("secretkey",wxProperties.getSecretkey()); return result; }}
启动项目调用:5432/test/info 接口会看到如下的配置信息。
通过配置文件的方式引入
除了上面的这种方式引入之外,还可以通过@ConfigurationProperties注解来实现。可以创建一个如下的配置类。
@Component@ConfigurationProperties(prefix = "wxconfig")public class WxConfig { private String wxappid; private String wxsecretkey; // 省略getter和setter方法}
在yml配置文件中添加如下的配置项
wxconfig: wxappid: 123123 wxsecretkey: avasd123414dafddv
这里需要注意,在@ConfigurationProperties属性中指定了prefix = "wxconfig"属性,然后直接编写配置类对应的配置属性,在yml配置文件中直接配置对应的属性名称就可以将配置项绑定的属性中。然后继续使用TestController进行测试。
@RestController@RequestMapping("/test")public class TestController { @Autowired private WxConfig wxConfig; @GetMapping("/info") public Map<String,Object> test(){ Map<String,Object> result = new HashMap<>(); result.put("appid",wxConfig.getWxappid()); result.put("secretkey",wxConfig.getWxsecretkey()); return result; }}参数间的传递与使用
在Yml配置文件中的各个参数之间也是可以进行相互调用的,如下所示。
wx: appid: 12321312312 secretkey: ashfdqe30924dafdvabswxconfig: wxappid: ${wx.appid} wxsecretkey: ${wx.secretkey}
在wxconfig的配置上引入了wx配置项上的appid和secretkey配置项。然后调用对应的测试控制类就可以看到结果了。
多环境配置在使用Spring Boot应用的时候,通常会在不同的环境中安装部署多个应用。例如开发环境、测试环境、生产环境等等。但是对于每个环境的数据库地址、服务器端口、代理配置等等都是有区别的。
由于在不同环境中切换配置有可能导致发生错误。Spring Boot支持了多环境配置功能。通过多个不同环境的配置来实现不同环境的打包配置支持。
在Spring Boot中支持多环境配置需要支持配置文件名称按照application-{profile}.yml或者是application-{profile}.properties的格式进行配置。其中profile就是需要指定的环境标识。如下所示。
application-dev.yml // 开发环境application-test.yml // 测试环境application-prod.yml // 生产环境
具体使用那个环境可以在application.yml主配置文件中通过如下的配置项来进行指定。
spring: profiles: active: dev
当然,我们也可以在启动的时候对Jar包参数通过命令行的方式进行指定,如下所示
java -jar test.jar --spring.profile.active=dev
通过上面这个命令,我们就可以启动开发环境的配置。当然也可以启动prod生产环境和test测试环境的配置。
总结以上,介绍了关于Spring Boot自定义配置、配置间的引用,以及多环境配置等内容。希望能对大家了解Spring Boot有所帮助。
GPT Crawler:自定义GPT AI模型爬虫
可以爬取网站内容的爬虫脚本,生成知识文件,进而创建自定义GPT模型,提供了一种有效方法,可以根据特定域知识快速生成定制化的GPT模型
官网:
Github: