Tag: groovy

使用spock数据表填充对象

我是第一次使用Spock。 由于我们使用的是复杂的域模型,因此可以使用一种机制,这种机制允许我根据spock表给出的数据创建完整的对象。 我不想每次都给出所有值,我只想设置datable中定义的值。 所以应该在某处定义默认值。 是的,我知道我可以自己写,但也许有一个开箱即用的解决方案。 例 class A { String name int age } spock表 id | givenA | … 1 | [name: “Michael”] | … 2 | [name: “Thomas”, age: 45 ] | … => A.name =“Michael”,A.age =在某处定义默认值 => A.name =“Thomas”A.age = 45(因为我覆盖了默认值)

HTTP Builder / Groovy – 丢失302(重定向)处理?

我在这里阅读http://groovy.codehaus.org/modules/http-builder/doc/handlers.html “在响应发送重定向状态代码的情况下,这由Apache HttpClient内部处理,默认情况下只是通过将请求重新发送到新url来关注重定向。您无需执行任何特殊操作即可遵循302响应。“ 当我只使用没有闭包的get()或post()方法时,这似乎工作正常。 但是,当我使用一个闭包时,我似乎失去了302处理。 我有办法自己处理吗? 谢谢 ps这是我的日志输出,显示它是302响应 [java] FINER: resp.statusLine: “HTTP/1.1 302 Found” 这是相关的代码: // Copyright (C) 2010 Misha Koshelev. All Rights Reserved. package com.mksoft.fbbday.main import groovyx.net.http.ContentType import java.util.logging.Level import java.util.logging.Logger class HTTPBuilder { def dataDirectory HTTPBuilder(dataDirectory) { this.dataDirectory=dataDirectory } // Main logic def logger=Logger.getLogger(this.class.name) def closure={resp,reader-> logger.finer(“resp.statusLine: \”${resp.statusLine}\””) if (logger.isLoggable(Level.FINEST)) { def respHeadersString=’Headers:’; […]

我怎样才能应对“IllegalStateException:BeanFactory未初始化或已经关闭”?

在Tomcat 7上使用Grails 2.0.0,我在启动时获得了以下权利: 2011-08-21 11:10:09,758 [main] ERROR StackTrace – Full Stack Trace: java.lang.IllegalStateException: BeanFactory not initialized or already closed – call ‘refresh’ before accessing beans via the ApplicationContext at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:172) at org.springframework.context.support.AbstractApplicationContext.containsBean(AbstractApplicationContext.java:1109) at org.codehaus.groovy.grails.web.context.GrailsContextLoader$1.run(GrailsContextLoader.java:88) at org.codehaus.groovy.grails.lifecycle.ShutdownOperations.runOperations(ShutdownOperations.java:62) at org.codehaus.groovy.grails.web.context.GrailsContextLoader.closeWebApplicationContext(GrailsContextLoader.java:136) at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:142) at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4763) at org.apache.catalina.core.StandardContext$4.run(StandardContext.java:5472) at java.lang.Thread.run(Thread.java:619) at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5481) at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:225) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812) at […]

我们如何在Grails中迁移/更新数据库模式?

我们已经与Grails合作了一段时间,我的团队负责人提出了一些关于Grails ORM(GORM)的问题: 一旦我们转向生产,我们如何维护数据库架构? 我们可以用Grails更新数据库架构吗? 如果架构已更新,是否会自动反映更改/框架是否会处理此问题? 是否有任何Grails插件可以让我们更新架构而不会头疼?

打开https URL时出错:未设置keyCertSign位

我使用以下代码调用远程https URL: def inputStream = new URL(“https://somewebsite.com”).openStream() 这在我的本地计算机上运行良好,但是当我部署到服务器时,我得到以下exception: java.security.cert.CertPathValidatorException: CA key usage check failed: keyCertSign bit is not set 这个错误的原因是什么,以及它可以解释它在一台机器而不是另一台机器上工作的原因是什么? UPDATE 我正在生产中运行Ubuntu服务器并在本地Mac上进行开发。 我正在尝试访问的网站(我们称之为peopleware.com)具有以下证书信息: AddTrust外部CA根 UTN-USERFirst五金 peopleware.com 我尝试从浏览器保存.cer文件并将它们安装到/ etc / ssl / certs / java / castore的密钥库中

是否可以将包中的所有类注册为Spring bean

我熟悉基于Springs Java的配置选项,包括使用@Component和@Configuration以及@Bean注释来注册Spring bean。 但是,在将一个体面的项目转换为Spring时,系统地触摸项目中的所有类并使用@Configuration @Bean更新或使用@Component注释每个类可能非常耗费人力。 我们有一个很大的Groovy项目要转换,我想简化这个过程。 我的问题: Spring中是否提供了一个工具,允许您告诉Spring在特定包中自动配置所有有效的bean候选类? 如果没有,还有哪些其他选择?

Java Lambda表达式是否与Groovy闭包的逻辑类似?

我了解了Java 8新functionLambda表达式 。 所以这是我使用Lambda表达式的“HelloWorld”类 public class LambdaHelloWorld { interface HelloWorld { String sayHello(String name); } public static void main(String[] args) { HelloWorld helloWorld = (String name) -> { return “Hello ” + name; }; System.out.println(helloWorld.sayHello(“John Doe”)); } } 这种风格与Groovy封闭非常相似。 这是时髦的“HelloWorld” def sayHello(name) { println(“Hello $name!”) } def clos = {name -> sayHello(name)} clos.call(‘John Doe’) 我认为这两个代码之间的差异较小。是不是Java […]

如何获取Groovy类的所有属性名称?

标题问了一下:如何获取Groovy类的所有属性名称? 它甚至可能吗? 我以为我可以使用类的集合语法,因为它似乎不起作用。

如何从Groovy脚本重定向输出?

我想知道是否有任何方法可以更改我从Java代码执行的groovy脚本的默认输出(System.out)。 这是Java代码: public void exec(File file, OutputStream output) throws Exception { GroovyShell shell = new GroovyShell(); shell.evaluate(file); } 以及样本groovy脚本: def name=’World’ println “Hello $name!” 目前执行该方法,评估编写“Hello World!”的脚本。 到控制台(System.out)。 如何将输出重定向到作为参数传递的OutputStream?

在java 8中的groovy和闭包中的闭包(lambda表达式)?

给予doSomething(Function foo) { println foo(2) } Groovy: doSomething( { it*it } as Function ) Java: doSomething( (x) -> x*x ) 这两者有什么区别吗?