概述
前言:
前边发文,我们讲过了自定义注解(如果没有看过的可以去历史发文里面去看一下),并且自己动手建了一个注解,因此大致了解了自定义注解的原理以及使用方法。
本篇发文我们再来说一个spring里面已有的,有关配置项生效与否的注解:@ConditionalOnProperty,当然了不用这个注解你的配置项还是可以一直生效的,只是不太安全而已,用不好会加重spring的负担。
我们平常在springboot配置文件applicatio.propertiey或则是application.yml里面都会写上数据源,redis,rabbitmq等的连接项。但是你写完这些配置项后,如何动态的控制它的生效与否呢?你学会了如何去控制它,这样对spring里面的装配机制又会有更深一步的了解。对于我们以后的自身发展都是有好处的。
正文:
前边又是照例说了一堆废话,下面我们进入正文。
1. 原生注解ConditionalOnProperty源码
2. 注解说明
该注解主是通过prefix,name,value, havingValue这几项来控制你的配置项configuration是否生效的。
3. 注解常规用法之(name+havingValue)
1)通过属性name和havingValue来控制某个configuration是否生效。
其中name用来读取application.properties或者application.yml中的某个属性值。
如果该值为空,则返回false,即configuration不生效
如果值不为空,则将该值与havingValue指定的值进行比较,相同则返回true,configuration生效;否则返回false,configuration不生效。
举例验证:
① 在application.yml里面添加配置项
Test:
confi:
java
② 编写测试代码TestConfiguration.java
TestConfiguration.java完整代码如下:
package com.bj.hydra.config;import com.bj.hydra.dto.CurrentUserDTO;import lombok.extern.slf4j.Slf4j;import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;/*** @package: com.bj.hydra.config* @description: 注解测试* @author: YixinCapital--@IT讲坛* @create: 2019-01-04 10:36**/@Configuration@Slf4j@ConditionalOnProperty(name="test.confi
最后
以上就是甜美小鸽子为你收集整理的如何动态给注解传值_SpringBoot里面如何优雅使用配置项?教你一个小技巧……...前言:正文:1. 原生注解ConditionalOnProperty源码2. 注解说明3. 注解常规用法之(name+havingValue)的全部内容,希望文章能够帮你解决如何动态给注解传值_SpringBoot里面如何优雅使用配置项?教你一个小技巧……...前言:正文:1. 原生注解ConditionalOnProperty源码2. 注解说明3. 注解常规用法之(name+havingValue)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复