我想覆盖 Grails 中的方法定义。我正在尝试使用 Groovy 元编程,因为我要覆盖的类属于框架。
下面是原来的类。
class SpringSocialSimpleSignInAdapter implements SignInAdapter {
private RequestCache requestCache
SpringSocialSimpleSignInAdapter(RequestCache requestCache) {
this.requestCache = requestCache;
}
String signIn(String localUserId, Connection<?> connection, NativeWebRequest request) {
SignInUtils.signin localUserId
extractOriginalUrl request
}
}
我正在尝试像下面这样覆盖
SpringSocialSimpleSignInAdapter.metaClass.signIn = {java.lang.String str, org.springframework.social.connect.Connection conn, org.springframework.web.context.request.NativeWebRequest webreq ->
println 'coming here....' // my implementation here
return 'something'
}
但由于某种原因,压倒一切并没有变好。我无法弄清楚。任何帮助将不胜感激。
谢谢