使用@Autowired of spring with scala

时间:2009-06-02 08:24:25

标签: scala spring-mvc spring autowired

我正在使用scala中的spring,并且在尝试使用特征/超类注入服务时遇到问题。

这是我的代码:

trait MyServiceHolder{
  var myService:MyService = null

  @Autowired
  def setMyService(ms:MyService) = myService = ms
}

@RunWith(classOf[SpringJUnit4ClassRunner])
@ContextConfiguration(Array("file:src/main/webapp/WEB-INF/application-context.xml"))
class MyConcreteClass extends MyServiceHolder{

  def hello() = myService.hello()  

}

这有效:

@RunWith(classOf[SpringJUnit4ClassRunner])
@ContextConfiguration(Array("file:src/main/webapp/WEB-INF/application-context.xml"))
class MyConcreteClass{

  var myService:MyService = null

  @Autowired
  def setMyService(ms:MyService) = myService = ms

  def hello() = myService.hello()  

}

问题是myService在我的测试用例中为空。查看字节码级别(类文件)时,所有注释都存在。有任何想法吗?

1 个答案:

答案 0 :(得分:3)

在运行测试时,您需要使用Spring TestContext Framework的形式让Spring配置您的bean。