SSM框架config.properties配置文件中加入占位符

 最近在开发中遇到一个这样的功能,调用GIO的下载数据的接口,从GIO把数据出来。GIO文档中提供的接口是这样的:

https://www.growingio.com/v2/projects/:project_id/charts/:chart_id.json

其中:project_id是你在gio官网上建立的项目后给分配的id,chart_id是你要下载的表格所对应的表格id。

如果你要下载的是一个项目中的几个表格,这样下载不同的表格就要两个不同的chart_id,你可以写两个方法分别调用两个不一样的下载接口。但是如果有10个表格要下载呢,你就要写10个方法,而这10方法中只有接口路径是不同的,这样就大大降低了代码的复用率。

    在平常的开发中,我们都是把这样的固定不变的接口路径放在config.properties中,因为这个接口中chart_id是一个变量,这样在配置文件中配置的时候我们可以把这个chart_id位置放一个占位符,在程序中把这个占位符替换成对应的值,如下:这里我把project_id和chart_id两个都当做变量,所以写入了两个占位符。

    config.properties: 

api_url=https://www.growingio.com/v2/projects/{0}/charts/{1}.json

  在代码中如何处理这个占位符呢?

    首先使用注解获取到这个地址

      

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class TestController {
	
	@Value("${api_url}")
	private String API_SQL;
	
	@RequestMapping("/test")
	public void test(){
		String[] param={"11111","22222"};
		String msgUrl=MessageFormat.format(API_SQL, param);
		System.out.println(msgUrl);
	}
	
}

执行结果如下: 

SSM框架config.properties配置文件中加入占位符_第1张图片

 SSM框架config.properties配置文件中加入占位符_第2张图片

 1111和2222已经替换掉占位符。

这样我们只用写一个方法即可,把chart_id 当做一个变量传入,替换掉占位符这样便可以少写很多代码。

你可能感兴趣的:(Java学习之路)