2013-09-13 4 views
6

Рассмотрим я могу написать, что в resources.xml:Что такое Spring DSL эквивалент Spring XML «зависит, от» атрибута в Grails

<bean id="beanOne" class="ExampleBean" depends-on="manager,accountDao"/> 

Я хотел бы написать его с помощью Spring DSL в resources.groovy. Как написать директиву depends-on?

+1

+1 Ценим для поднятия этого вопроса. :) – dmahapatro

ответ

7
beanOne(ExampleBean) { bean -> 
    bean.dependsOn = ['manager', 'accountDao'] 
} 

должен делать то, что вам нужно. Большинство атрибутов <bean> имеют bean.XXX эквивалентов, в том числе init-method, destroy-method, factory-bean, factory-method, autowire - просто используйте верблюжьей кейс вместо дефиса (например, bean.initMethod = "..."). Если это не сработает, то bean.beanDefinition даст вам ссылку на фактический объект Spring BeanDefinition, поэтому вы можете вызвать его другие методы.

+0

Я не знал об этом свойстве 'BeanDefinition'. Спасибо за разъяснения. Если это нужно установить как строковый массив. '['manager', 'accountDao'] как String []' иначе он будет рассматриваться как список. – dmahapatro

+0

@ dmahapatro возможно, хотя Groovy может выполнить преобразование для вас автоматически, когда увидит, что вы передали «List» методу, который ожидает «String []», я никогда не уверен на 100%, какие преобразования происходят по волшебству и которые этого не делают. –

+0

Он жалуется на меня, когда я пишу [простой скрипт] (http://paste.ubuntu.com/6102172/). – dmahapatro

Смежные вопросы