Использование @Autowired весны со скалой - PullRequest
4 голосов
/ 02 июня 2009

Я использую Spring из Scala и столкнулся с проблемой при попытке добавить сервис с чертой / суперклассом.

Это мой код:

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 имеет значение null в моих тестовых случаях. При взгляде на уровень байт-кода (файл класса) присутствуют все аннотации. Есть идеи?

1 Ответ

3 голосов
/ 02 июня 2009

Вам нужно использовать форму Spring TestContext Framework , чтобы настроить bean-компоненты Spring при выполнении тестов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...