代码之家  ›  专栏  ›  技术社区  ›  Kimble

Grails:常规groovy类中的依赖注入

  •  4
  • Kimble  · 技术社区  · 15 年前

    假设我在grails app/services下有一个barservice,在src/groovy下有一个常规的groovy类“foo”。

    class Foo {
      def barService
    }
    

    有没有什么方法可以在运行时以编程方式将其转换为SpringBean?只是想澄清一下,我想得到一个注入到BarService领域的BarService的参考。

    def fooInstance = new Foo()
    magic-create-spring-bean-function(fooInstance)
    assert fooInstance.barService
    
    1 回复  |  直到 15 年前
        1
  •  6
  •   Community CDub    8 年前

    this answer 关于如何获取applicationContext的实例。连接bean属性可以这样做:

    def ctx = ...
    def foo = new Foo()
    ctx.beanFactory.autowireBeanProperties(foo, ctx.beanFactory.AUTOWIRE_BY_NAME, false)
    

    不过,我建议使用常规的SpringBeans(可能是原型范围)而不是这种方法。

    推荐文章