NutzCN Logo
问答 配置IOC容器,通过js文件,通过工厂来构造的时候,需要往工厂里面的方法传参,如何传?
发布于 2713天前 作者 hjlAlex 1959 次浏览 复制 上一个帖子 下一个帖子
标签:

{
"对象名称" : {
type : "对象类型",
parent : "被继承的对象名称",
events : {
fetch : "触发器的类型或者函数名",
create : "触发器的类型或者函数名",
depose : "触发器的类型或者函数名"
},
args : [
参数1, 参数2 ...
],
fields : {
"字段名称1" : 字段值1 ,
"字段名称2" : 字段值2 ,
...
},
factory : "xxx.yyy.zzz#create" //工厂类#工厂方法,这个create方法需要带参数,怎么破?是上面的fields?
}
}
大神,菜鸟又来求救了。。。

10 回复

当使用工厂方法时,args就参数哦

大神,
credential : {
type : "com.mongodb.MongoCredential",
args : ["xxx","xxx","xxx"],
factory:"$credential#createCredential"
},
creList : {
type : "java.util.ArrayList",
args : [[{refer : "credential"}]]
}
在creList 里面想添加credential 这样可以吗?

刚刚试了下,不行/(ㄒoㄒ)/~~

credential 是实例化成功的~

credential : {
 type : "com.mongodb.MongoCredential",
 args : ["xxx","xxx","xxx"],
 factory:"$credential#createCredential"
 },

$credential 指向 credential, 一个对象怎么可能用自己来构建呢??

要这样写. 因为createCredential是静态方法,直接用类名.

credential : {
 type : "com.mongodb.MongoCredential",
 args : ["xxx","xxx","xxx"],
 factory:"com.mongodb.MongoCredential#createCredential"
 },

但password是char[], 这个有点烦. 我建议做个帮助类

public class MongoCredentialBuilder {
    public static MongoCredential createCredential(final String userName, final String source, final String password) {
        return MongoCredential.createCredential(userName, source, password == null ? null : password.toCharArray());
    }
}

credential : {
 type : "com.mongodb.MongoCredential",
 args : ["xxx","xxx","xxx"],
 factory:"xxxx.MongoCredentialBuilder#createCredential"
 },

creList : {
type : "java.util.ArrayList",
args : [[{refer : "credential"}]]
}
这个写法对吗?credential配置正确的前提下

添加回复
请先登陆
回到顶部