SpringBoot读取.yml配置文件最常见的两种方式-源码及其在Nacos的应用

网站建设4年前发布
40 0 0

202303061539436493fdd913c5b268def49356b2bb4e659f7c0b364,我们在开发中会经常遇到一些可能会变的值,比如数据库的密码,一些关键链接的配置等等。,都需要我们写在配置文件中,这样可以把这些配置文件放到nacos上进行管理,修改nacos的配置,咱们发布的包就可以动态的进行更新了,不需要重新修改打包在重新发包!,咱们今天就来说一说读取配置文件中的值常见的两种方法,刚刚说的动态更新配置的是第二种配置哈!@Value("${school.teacher}")不会动态更新,所以小编推荐使用第二种方式@ConfigurationProperties(prefix = "school")进行读取配置文件!下面小编 也会带大家一起演示一下不需要重启项目就可以动态的更新,在生产上非常的好用!,第一种方式比较场景,也是最简单的,就是@Value($(配置文件中的参数))。,我们首先在application.yml文件中写一个配置:,​这里key的冒号后面一定要有个空格,字符串不需要加双引号!,我们为了方便直接在controller进行演示了!!,我们debug看一下是否可以读取到配置中的值!,20230307014920c61f93201d7e9341cb4263f0427a22307d2596837,我们可以看到是有值的!,这种方式是小编比较推荐的,虽然看似比@Value麻烦不少,但是更加的规范,在配合nacos的时候也可以动态的修改,会立即生效,一会小编带大家试一下哈!!为什么推荐这种方式呢,是因为spring他们都是使用这种方式进行配置的,所以跟着官方走不会有错的!,我们刚刚修改了一下yml配置文件,让类型更加丰富!,2023030615394406900ae0178ef1a1da6269ef69db021fb82f3b757,我们找到yml文件,按住Ctrl鼠标点击port,进去看一下spring官方是怎么配置的!,20230306153945c73d43d378416a9b6ea152cef6ac6bcfc0ec85247,我们来到ServerProperties这个配置类上看到:,我们发现port是一个成员变量,我们直接看一下这个类吧!,我们看到spring也是使用第二种方式进行读取yml的内容的!,nacos这里小编就不带大家整合到项目中了,小编直接演示效果哈!,202303070149217198e9790ecc929517066732daf00f3346dba0209,读取的配置和第二种方式那个School一样!,20230306153947468b68c59debe091dec1380755d51af179de3d384,我们修改配置不重启项目:,2023030615394606e935d73b70de69b8e025e0caed6c074e25ab643,在次测试:,20230306153948e9ef23e363f923de8e71430e4b00ba14e002d2215,大功告成!完结撒花喽!!,第二种方式:@ConfigurationProperties是非常推荐大家使用的,能够规范和生产环境中动态生效!真的很香啊!项目中的@Value()去修改修改吧!!如果不需要动态更新的,看个人情况修改哈!

© 版权声明

相关文章