问题
基于注解,很多都是写死的值,当这样的值多了,每次上线都会引起不可预料的事情,那么怎么解决一劳永逸呢。
其实,很简单,将所有的值统一放置在配置环境变量中,并通过springboot内置的模板语法进行读取即可。
示例
原代码:
@PropertySource(value={"class:datasource.properties"})
修改后的代码
@PropertySource(value={"${config.datasource}"})
其中${config.datasource}便是springboot内置的模板语法,通过读取application.yml里面的变量来进行读取。
因此,只要是注解,都可以通过这样的变量配置进行注入与解决。
同时springboot内置的还有el表达式,通过#{}来获取变量,但是这种不适合在注解上面使用,在springboot2.3.5中,通过#{}来获取将会无法正确加载变量。此种方式仅适合@Value注解。
联系客服