例如
Properties: value="key1=1234"
现在我想把1234 存在Properties文件里面 value1=1234 该如何写?
Properties: value="key1=java :$config.get('value1')" 吗?试了好像不对。
11 回复
Properties里存变量? 没有原生支持的, 变通一下, foreach替换一下
PropertiesProxy conf = ioc.get(PropertiesProxy.class, conf);
Context cnt = Lang.context().putAll(conf.toMap());
for (Entry<String, String> en : conf.entrySet()) {
if (en.getValue().contains("${")) {
CharSegment seg = new CharSegment(en.getValue());
conf.put(en.getKey(), seg.render(cnt).toString());
}
}
没看懂. 说的是这种??
var ioc = {
// 参考 https://github.com/xetorthio/jedis/wiki/Getting-started
jedisPoolConfig : {
type : "redis.clients.jedis.JedisPoolConfig",
fields : {
testWhileIdle : true, // 空闲时测试,免得redis连接空闲时间长了断线
maxTotal : 100 // 一般都够了吧
}
},
jedisPool : {
type : "redis.clients.jedis.JedisPool",
args : [
{refer : "jedisPoolConfig"},
// 从配置文件中读取redis服务器信息
{java : "$conf.get('redis.host', 'localhost')"},
{java : "$conf.getInt('redis.port', 6379)"},
{java : "$conf.getInt('redis.timeout', 2000)"},
{java : "$conf.get('redis.password')"},
{java : "$conf.getInt('redis.database', 0)"}
],
fields : {},
events : {
depose : "destroy" // 关闭应用时必须关掉呢
}
}
};
@wendal 兽总,回答下啊
@wendal 我感觉你没明白我想要问的问题。你说的这个我看过nutzbook了,我也明白了,但是我需要配置的 是
Properties: value="key1=java :$config.get('value1')"
不是
args : [{java : "$conf.get('redis.host', 'localhost')"}]
感觉是
java :$config.get('value1') 包含在字符串里面就取不到了,有啥办法吗?
@wendal 不知道我说清楚了没?
@wendal 多谢
args : [{java : "$conf.get('redis.host')"}] 等同于
args : [{"$conf['redis.host']"}] 吗?
@wendal 非常感谢,理解了
添加回复
请先登陆