Dun*_*gor 3 spring wicket scala
我有一个检票Page用@SpringBean
class ScreenDetailsPage(parameters: PageParameters) extends BasePage(parameters) {
@SpringBean(name = "screenDAO") protected var screenDao: DAO[Screen] = null
assertNotNull(screenDao)
Run Code Online (Sandbox Code Playgroud)
我发现没有填充@SpringBean.如果screenDao是val或var,protected或private 则没有区别.
查找树,我发现Component(间接)的构造函数@SpringBean代表其子类初始化s,但是对null的赋值是uninitializing它.但Scala要求分配.
我该如何防止这种行为?
尝试
class ScreenDetailsPage(parameters: PageParameters) extends BasePage(parameters) {
@SpringBean(name = "screenDAO") protected var screenDao: DAO[Screen] = _
assertNotNull(screenDao)
Run Code Online (Sandbox Code Playgroud)
我没有尝试过这个,但我也在考虑启动Wicket/Scala项目,并看到 这个博客条目,这在其他方面也可能有用.
该博客引用的相关部分是
另外,请注意该字段被分配给下划线(_),它告诉Scala编译为NOT初始化,但将其保留为默认状态(在本例中为null).这是注射工作所必需的.如果将其明确赋值为null,则将覆盖Spring bean,因为在执行MyPage的构造函数之前将进行注入.
| 归档时间: |
|
| 查看次数: |
341 次 |
| 最近记录: |