2

我正在寻找通过构造函数注入使用 Spring 自动装配 Scala 类的“惯用”方式。我试过这样的事情:

   @Component
   class MyService @Autowired() ( val myDao: MyDao) extends Logging {
   ...
   }

但我得到一个错误: bean 的实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 bean 类 [MyService]:未找到默认构造函数;嵌套异常是 java.lang.NoSuchMethodException: MyService.() at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:964) ~[spring-beans-3.0.7.RELEASE.jar:3.0. 7.发布]

4

2 回答 2

6

我在 spring-scala 项目的 Scala 对象的构造函数中添加了对 @Autowired 的支持。这仅在夜间快照中(在撰写本文时)。

这可以让你做

@Component
@Autowired
class Service(dep : Dependency) { }

https://github.com/spring-projects/spring-scala

于 2013-10-17T16:19:22.387 回答
0

我们将这种风格用于 Spring MVC 应用程序:

  @Component
  class MyService extends Logging {

    @Autowired
    private val myDao: MyDao = null

  }
于 2013-06-26T14:22:13.613 回答