我有两个不同配置,我将从应用程序YML加载它们。 属性相同,但值可能不同。
如何使此工作giveMeRestTemplate(类型config)
//app.yml
bus:
tyres:8
seats:40
color:red
url: www.businfo.com
car:
tyres:4
seats:6
color:blue
url: www.carinfo.com
所以我有不同的ConfigruationProperties类,类似于CarConfig
@ConfigurationProperties("bus")
public class BusConfig{
public int tyres;
public int seats;
public string color ;
public string url;
//setters and getters below.
}
然后我有一个rest客户机,我用它调用一些api来获取信息。 所以这个api可以返回你可以说的不同类型车辆的信息。
public class RestClientHelper{
public RestTemplate giveMeRestTemplate(Type config);
{
return restTemplate; //using the above type which might have url to the specific api to call.
}
}
其思想是,调用代码可以根据发送给它的配置获得不同的rest模板。
public SomeClient{
@Autowired
RestClientHelper rch;
@Autowired
BusConfig bc;
@Autowired
CarConfig cc;
public void publishDetails(){
rch.giveMeRestTemplate(bc); //so if i send cc then it should prepare rest template for cc
}
}
我建议您稍微修改一下配置属性(为简洁起见省略getter和setter):
public enum Type {
BUS, CAR
}
@ConfigurationProperties("rest-config")
public class RestConfig {
private Map<Type, ConfigForType> type = new HashMap<>();
public static class ConfigType {
private int tyres;
private int seats;
private string color;
private string url;
}
}
这样,您就可以得到以下配置文件:
rest-config:
type:
bus:
tyres: 8
seats: 40
color: red
url: www.businfo.com
car:
tyres: 4
seats: 6
color: blue
url: www.carinfo.com
最后是你的助手:
@Service
public class RestClientService {
@Autowired
private RestConfig config;
public RestTemplate giveMeRestTemplate(Type type) {
RestConfig.ConfigType cfg = config.getType().get(type);
// do what's necessary with cfg
return restTemplate;
}
}
我在mongoDB中使用Spring Boot。我扩展了PagingAndSortinRepository存储库并添加了以下功能 我希望能够向它传递一个正则表达式数组,例如/dog/、/cat/、/horse/,以排除标题中可能包含其中一个正则表达式的任何项目。 上述函数不起作用,因为排除已转换为字符串。如何传递正则表达式数组来执行上述操作?
我有一个通过uwsgi运行的小型python应用程序,其中的请求由nginx提供。 我正在打印环境变量。。。看起来在两个ok请求之后,nginx正在为不相关的请求发送相同的HTTP_COOKIE参数: 例如: {'UWSGI_CHDIR':'/ebs/py','HTTP_COOKIE':'ge_t_c=4fcee8450c3bee709800920c','UWSGI_SCRIPT':'服务器','
我寻找一种最佳实践方法,如何根据Symfony的ACL发送不同的用户和不同的响应。 我使用FoS RestBundle。他们提供了我使用的JMSSeriazerBundle。到目前为止,我已经创建了模型和序列化程序yml文件,非常好。一切看起来都很棒,很管用。 现在我有不同的用户访问这个RESTAPI。他们中的一些人拥有扩展权限,因此可以查看更多信息。处理这些问题的最佳做法是什么? 每个人的URL
我无法将派生类传递给接受基类作为参数的函数。基类由“障碍物”组成,这些障碍物将被放置在“板”上。无效的board::setvalue(int-length、int-width、board 但是,这会导致编译器给出“未知参数转换…”错误。在浏览站点时,我发现我应该将派生对象作为常量进行传递,但这会导致问题,因为无法将常量分配给线路板(因为它包含指向非常量障碍物的指针)。 反过来,将线路板更改为包含常
本文向大家介绍vue给组件传递不同的值方法,包括了vue给组件传递不同的值方法的使用技巧和注意事项,需要的朋友参考一下 这里讲解一下Vue 官网的一个实例,Vue将数据遍历传递给多个组件,这个是我们实际开发中常做的事情。一般大型应用都是使用组件搭建起来的,我们需要给组件传递不同的值,来实现不同的展现,实现代码的复用。 代码分析: 这里我直接使用了一个Vue的CDN,然后实例化Vue对象就可以使用。
我想从另一个作业中获取参数,就像我们从另一个作业中复制工件一样。 考虑2个詹金斯作业A和B。拉链制品。 我的要求:我希望作业B将所有参数传递给作业A中的构建#30。(我使用复制工件插件从作业A的#30复制.zip)如何从不同的jenkins作业获取参数?
我在集群中有以下代码: csv_file=“/usr/usr1/test.csv” 但是程序不是在挑FI。有人能帮忙吗?
我为什么要这样做?因为lambda表达式生成的ClosureType不是默认可构造的。通过这个“技巧”,我可以默认构造这样的closureType。 此外,模板参数的要求是,它必须为空=>