如何解决如何在Scala中填充Wicket @SpringBeans?
| 我有一个cket0ѭ和一个@SpringBean
class ScreenDetailsPage(parameters: PageParameters) extends BasePage(parameters) {
@SpringBean(name = \"screenDAO\") protected var screenDao: DAO[Screen] = null
assertNotNull(screenDao)
而且我发现@SpringBean未填充。如果screenDao
是val或var,protected或private,则没有区别。
查找该树,我发现Component
的构造函数(间接)代表其子类初始化@SpringBean
s,但是随后将其赋值为null则未初始化它。但是Scala需要分配。
我如何防止这种行为?
解决方法
尝试
class ScreenDetailsPage(parameters: PageParameters) extends BasePage(parameters) {
@SpringBean(name = \"screenDAO\") protected var screenDao: DAO[Screen] = _
assertNotNull(screenDao)
我没有尝试过,但是我也在考虑启动Wicket / Scala项目,并看到了此博客条目,这在其他方面也可能有用。
该博客引用的相关部分是
此外,请注意,该字段已分配给下划线(_),这告诉Scala编译程序不进行初始化,但将其保留为默认状态(在这种情况下为null)。这是注射工作所必需的。如果将其明确分配为null,则表示
将覆盖Spring bean,因为将在执行MyPage的构造函数之前进行注入。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。