问题标签 [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.
spring - 使 Groovy Bean 定义 DSL 中的 bean 定义与顺序无关
我目前在新的Groovy Bean 定义 DSL中看到的唯一缺点是闭包中的 bean 必须以依赖顺序声明。例如,虽然这有效:
这不起作用:
那是因为闭包中的代码是逐行执行的。
这是我们在 Spring 中不习惯的——XML 定义被解析为一个 DOM,在 Java 配置中 bean 定义是方法,因此声明顺序并不重要。
我做了一些努力来打破这个闭包以模仿 Java 配置(每个 bean 的闭包/方法),但是我附带的代码非常丑陋和冗长。
有谁知道如何将此闭包重构为多个与顺序无关的代码单元?
PS我知道这个定义风格来自Grails,所以也许Grails社区已经有了答案?
spring - 使用 Grails BeanBuilder 或 Spring GenericGroovyApplicationContext “手动”创建 bean
我有一个具有复杂创建逻辑的类(例如使用生成器)。早在 2000 年,由于 XML 是死板的,不是编程语言,我无法在其中编写创建逻辑,所以我将它封装在 FactoryBean 中。
然后祝福的 JavaConfig 来了(谢谢你,@cbeams)并将 FactoryBean 扔进了历史的垃圾箱。
由于 GroovyConfig 是向前迈出的一步(不仅是一种真正的配置编程语言,而且还有 DSL),虽然复杂的创建逻辑,但我肯定找到了一种简单而优雅的方式来编写我的方式,但没有找到任何提及有这样的能力吗?!
我知道 GroovyConfig 或多或少是从 Grails BeanBuilder 中逐字提取的,所以也许如果有办法在那里做到这一点,它也可以在 GroovyConfig 中工作(手指交叉)。
请告诉我我遗漏了一些明显的东西,不必再次使用 FactoryBean!
睡在上面,我想答案是否定的。我正在添加一个答案(仍然希望它会因为错误而被严重否决)。请证明我错了!
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:
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。
使用单元测试用例查看我的问题的更详细版本。
提前感谢您的澄清!
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?