Grails插件MyBaits使用时命令 grails create-gateway Client会生成两个文件 client.xml和ClientGateway.groovy,但是这个Gateway不能通过在一个controller或者services里面写属性的形式注入,例如属性写成
clientGateway
本应该自动注入实例的,但是不好用,看了MyBatis插件代码,把这里改一下即可
修改IbatisGrailsPlugin.groovy文件此处
将动态在spring创建的bean的id修改成小写即可。
clientGateway
def clientGateway; //本该自动注入,但是无效
def list2 = {
RowBounds rowBounds = new RowBounds(1,2);
HashMap map = new HashMap()
map.put("pagination",rowBounds)
def list = clientGateway.selectClient(map);
[clients:list]
}
本应该自动注入实例的,但是不好用,看了MyBatis插件代码,把这里改一下即可
修改IbatisGrailsPlugin.groovy文件此处
for (a in application.getArtefacts(GatewayArtefactHandler.TYPE)) {
log.debug "Found gateway artifact $a of type ${a.clazz}; will register as ${a.shortName}"
if (a) {
def shortName = a.shortName[0].toLowerCase() + a.shortName[1..-1]; //添加此行
"${shortName}"(a.clazz) { bean ->
bean.singleton = true
bean.autowire = "byName"
}
}
}
将动态在spring创建的bean的id修改成小写即可。