问题标签 [spring-groovy-config]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1278 浏览

spring - 使 Groovy Bean 定义 DSL 中的 bean 定义与顺序无关

我目前在新的Groovy Bean 定义 DSL中看到的唯一缺点是闭包中的 bean 必须以依赖顺序声明。例如,虽然这有效:

这不起作用:

那是因为闭包中的代码是逐行执行的。

这是我们在 Spring 中不习惯的——XML 定义被解析为一个 DOM,在 Java 配置中 bean 定义是方法,因此声明顺序并不重要。

我做了一些努力来打破这个闭包以模仿 Java 配置(每个 bean 的闭包/方法),但是我附带的代码非常丑陋和冗长。

有谁知道如何将此闭包重构为多个与顺序无关的代码单元?

PS我知道这个定义风格来自Grails,所以也许Grails社区已经有了答案?

0 投票
1 回答
654 浏览

spring - 使用 Grails BeanBuilder 或 Spring GenericGroovyApplicationContext “手动”创建 bean

我有一个具有复杂创建逻辑的类(例如使用生成器)。早在 2000 年,由于 XML 是死板的,不是编程语言,我无法在其中编写创建逻辑,所以我将它封装在 FactoryBean 中。

然后祝福的 JavaConfig 来了(谢谢你,@cbeams)并将 FactoryBean 扔进了历史的垃圾箱。

由于 GroovyConfig 是向前迈出的一步(不仅是一种真正的配置编程语言,而且还有 DSL),虽然复杂的创建逻辑,但我肯定找到了一种简单而优雅的方式来编写我的方式,但没有找到任何提及有这样的能力吗?!

我知道 GroovyConfig 或多或少是从 Grails BeanBuilder 中逐字提取的,所以也许如果有办法在那里做到这一点,它也可以在 GroovyConfig 中工作(手指交叉)。

请告诉我我遗漏了一些明显的东西,不必再次使用 FactoryBean!

睡在上面,我想答案是否定的。我正在添加一个答案(仍然希望它会因为错误而被严重否决)。请证明我错了!

0 投票
1 回答
275 浏览

spring - How to invoke bean method from spring groovy-based configuration file?

How to invoke method from spring configuration groovy-based file? I know about MethodInvokingFactoryBean, but i want more simple way.

My bean:

My beans.groovy:

0 投票
2 回答
1295 浏览

spring - Grails 2.4.2 bean spring bean 注入

示例应用程序位于此处:https ://github.com/rushidesai1/Grails2_4_2_BeanIssue

问题:

如果我们在 resources.groovy 中声明一个这样的 bean

现在,如果我们 DI testObject bean 或执行 'Holders.grailsApplication.mainContext.getBean("testObject")',那么我们得到的 bean 将具有单例 'map' 和单例 'testA' 对象。

这里 testObject 被声明为“原型”,即使这样,“地图”和“测试A”都是单例的

我想知道这是一个错误还是按设计工作。它会像这样工作是完全违反直觉的,因为我们专门做新的,所以我们希望每次都注入一个新的 bean。

使用单元测试用例查看我的问题的更详细版本。

提前感谢您的澄清!

0 投票
1 回答
75 浏览

java - Importing Spring Framework in groovyConsole throws error

I have a very simple Groovy script:

As I use the @Controller annotation I used the menu option:

Script -> Import jars into classpath

But when compliging I receive the error:

What is the correct way to use Spring Framework from the groovyConsole?