`
qixin000
  • 浏览: 20900 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
文章分类
社区版块
存档分类
最新评论

Grails插件MyBatis的gateway问题

阅读更多
Grails插件MyBaits使用时命令 grails create-gateway Client会生成两个文件 client.xml和ClientGateway.groovy,但是这个Gateway不能通过在一个controller或者services里面写属性的形式注入,例如属性写成
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修改成小写即可。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics