Инъекция зависимостей с Grails Spring DSL - PullRequest
1 голос
/ 13 апреля 2011

Когда я использую Spring DSL, предоставленный Grails, возможно ли сделать инжектор конструктора. Если это так, пример будет высоко ценится.

Если внедрение в конструктор невозможно, есть ли другой способ, которым я могу внедрить пружинный бин, не делая публичные свойства зависимостей. Используя Spring в проекте Java, я могу сделать это

class Foo {

  @Autowired
  private Bar bar
}

И он автоматически связывает зависимость Bar по имени или типу

Ответы [ 2 ]

4 голосов
/ 14 апреля 2011

можно использовать инжектор конструктора, даже используя BeanBuilder DSL

bb.beans {
    exampleBean(MyExampleBean, "firstArgument", 2) {
        someProperty = [1,2,3]
    }
}

всякий раз, когда вы хотите ссылаться на другие bean-компоненты в качестве аргументов конструктора, используйте метод ref ()

bb.beans {
    exampleBean(MyExampleBean, "firstArgument", ref('anotherBean')) {
        someProperty = [1,2,3]
    }
}
2 голосов
/ 13 апреля 2011

Вы должны иметь возможность вставить бин в конструктор , используя аннотацию @Autowired, как это обычно делается в Spring.Вот пример:

class Foo {
    private final Bar bar

    @Autowired
    public Foo(Bar bar) {
        this.bar = bar
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...