1
6
方法是迭代控制器,并使用元编程向其添加方法。 例如,检查perf4j插件(文件perf4jgrailsplugin.groovy)。 在里面,你会看到:
在上面的代码中,您将遍历所有控制器,并使用秒表添加方法,因此它们现在可以在任何地方使用。如果您只需要在一些控制器中执行此操作,显然可以进行额外的检查。 您可以将这段代码放入bootstrap.groovy中,这样它就可以在应用程序每次启动时运行。 |
2
7
那么为什么不让第二个抽象控制器扩展基本控制器,而只由那些需要这个功能的控制器扩展呢? 对我来说,这听起来是最简单、最干净的解决方案——当然比使用元编程更好。”“喜欢组合而不是继承”并不意味着继承从根本上来说是一件肮脏的事情,应该不惜一切代价避免。 |
3
2
在这种情况下,我经常使用的第三个选项是静态导入。这实际上是许多人都不知道的Java(不是Groovy)的一部分。 因此,如果您有这样一个类,并且希望共享静态方法:
并在要使该方法可用的类中使用“import static”:
不需要超类或混合魔法,让编译器为您完成工作。 |
4
1
|
Mateusz Cieslak · 运行单个集成测试/单个测试类 6 年前 |
PackersFan · 检查Geb中的只读 6 年前 |
Frak · 如何比较用户输入的密码和凭据密码短语 6 年前 |
Benihana · 如何在Groovy中正确解析JSON 6 年前 |
Saranya Unni · 如何使用groovy从列表中获取值? 6 年前 |
dino110 · sed命令的Jenkins管道失败 6 年前 |
Peter Cook · Groovy中XML响应节点数据的映射 6 年前 |