Spring框架:将PropertyPlaceholderConfigurer升级到PropertyPlaceholderHelper的路径

时间:2019-04-03 18:39:33

标签: java spring

我正在从4.2.5.RELEASE转换为5.0.7.RELEASE。

初始错误:

未为类型NestedPropertyPlaceholderConfigurer NestedPropertyPlaceholderConfigurer.java定义方法parseStringValue(String,Properties,HashSet)。

在重构代码时,每次更改都会造成错误的滚雪球效应。

我需要一些帮助来了解将某些代码PropertyPlaceholderConfigurer移至PropertyPlaceholderHelper所需要做的工作。

代码:

A1 <- data.frame(Animal1= c("A", "A","B","B","D") ,Animal2=c("B","D","D","A","B"),Frequency=c(2,3,1,4,5))
> A1
  Animal1 Animal2 Frequency
1       A       B         2
2       A       D         3
3       B       D         1
4       B       A         4
5       D       B         5

1 个答案:

答案 0 :(得分:0)

parseStringValue(String strVal, Properties props, Set visitedPlaceholders) 

在版本4.x的javadoc中,不建议使用此方法,并在版本5.x中将其删除。

因此,我重构了代码并按如下所示使用PropertyPlaceholderHelper:

  1. 添加了导入:

    import org.springframework.util.PropertyPlaceholderHelper;

  2. 方法变量:

    PropertyPlaceholderHelper pph = new PropertyPlaceholderHelper(DEFAULT_PLACEHOLDER_PREFIX, DEFAULT_PLACEHOLDER_SUFFIX);


 3.替换为方法调用:

String location = pph.replacePlaceholders(nestedLocation.replaceAll("#\\{", "\\${"), props);