Я пытаюсь использовать Scala как часть существующего Java-приложения, и теперь я сталкиваюсь с проблемой с зависимостями, внедряемыми с помощью метода сеттера (в этой части кода нет структур DI). Как это обрабатывается в стиле Scala?
В Scala val
и var
требуют инициализации при объявлении, но я не могу этого сделать, поскольку сеттеры Java внедряют объекты, которые реализуют определенный интерфейс и интерфейсы, абстрактны и не могут быть созданы.
class ScalaLogic {
var service // How to initialize?
def setService (srv: OutputService) = {
service = srv
}
Есть ли способ инициализировать var service
, чтобы впоследствии я мог назначить ему зависимость? Он должен иметь лексическую область видимости для всего класса.