@JsonIgnore
	public AbstractDataSourceProperties getValidDataSourceProperties() {
		List<String> invalidFields = getValidField();
		if (invalidFields.size() == 1) {
			try {
				this.getClass().getDeclaredField(invalidFields.get(0))
						.setAccessible(true);
				return (AbstractDataSourceProperties) this.getClass()
						.getDeclaredField(invalidFields.get(0)).get(this);
			}
			catch (IllegalAccessException e) {
				// won't happen
			}
			catch (NoSuchFieldException e) {
				// won't happen
			}
		}
		return null;
	}
Using By ConfigurationProperties.

@author <a href="mailto:fangjian0423@gmail.com">Jim</a>
@see NacosDataSourceProperties
@see ApolloDataSourceProperties
@see ZookeeperDataSourceProperties
@see FileDataSourceProperties
@see RedisDataSourceProperties
@see ConsulDataSourceProperties
spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/DataSourcePropertiesConfiguration.java