今天在开发过程中遇到一个很坑的问题:base action中的service总是为空。
被困扰良久。
各种配置都没有问题。但是这个service就是为空。
也没有进base action 中的getXxService()和setXxService()这两个方法。这就太奇怪啦。这是为什么呢?
……
……
……
……
首先描述下基本情况:
1、有一个action暂且命名为TestAction。并且TestAciton extends BaseAction 。
2、BaseAciton 中有个私有变量:privateTestService testService;(当然还有对应的get和set方法)
在配置都对的情况下,这个testService是会有值的。
最终原因:
TestAction中居然也有一个和BaseAction中同样的私有变量privateTestService testService;以及对应的get和set方法。
这样就出问题了。注入service时,调用的是TestAction中的get和set方法,这样TestAction中的testService有了值,而BaseAction中的testService却是空的。
回想之前的操作:我在TestAction写了testService。然后有同事提取了一下代码(将公用代码抽出来),然后我又没有删除原来的代码,于是错误产生了。
特此记录!