如何在Scala对象中使用Spring Autowired(或手动连线)?
发布时间:2020-12-16 09:03:45 所属栏目:安全 来源:网络整理
导读:我试图使用 Spring与 Scala.我知道Autowired可以使用Scala类,但我使用的是需要一个对象的web框架,我想在其中注入一个dao.我想知道该怎么做?对不起,我对Scala很新,感谢提前. @Service object UserRest extends RestHelper { @Autowired @BeanProperty val us
我试图使用
Spring与
Scala.我知道Autowired可以使用Scala类,但我使用的是需要一个对象的web框架,我想在其中注入一个dao.我想知道该怎么做?对不起,我对Scala很新,感谢提前.
@Service object UserRest extends RestHelper { @Autowired @BeanProperty val userRepository: UserRepository = null; ..... } <beans> ..... <bean id="userRest" class="com.abc.rest.UserRest" > <!--- this is my attempt to manually wire it ---> <property name="userRepository" ref="userRepository"/> </bean> </beans> 解决方法
基本上,你有两个问题:
>财产应该是可变的,即var而不是val 所以,这样的事情应该有效: object UserRest extends RestHelper { @BeanProperty var userRepository: UserRepository = null; def getInstance() = this ... } . <bean id="userRest" class="com.abc.rest.UserRest" factory-method = "getInstance"> <property name="userRepository" ref="userRepository"/> </bean> 您可以替换< property>使用@Autowired,但由于上述单例实例的问题,无法用@Service替换手动bean声明. 也可以看看: > What is the Java equivalent of a Scala object? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |