Struts和Spring Configuratuion

时间:2015-12-29 08:02:38

标签: java spring-mvc struts spring-data

我有一个巨大的项目,其中某些部分是Struts1的一些Spring。

我在春天有一个Dao课:

@Component
public class CouchDao {
@Autowired(required = false)
ICouchbaseTemplateInterface iCouchbaseTemplateInterface;

public List<Couch> getUnExpiredForClient(int client) {
    Query query = new Query();
    CouchList=iCouchbaseTemplateInterface.findAllOrderBypostionAcrossVerticalDesc(query);
    List<Couch> CouchList=new ArrayList<Couch>();
    try {
        CouchList = iCouchbaseTemplateInterface.findAllOrderBypostionAcrossVerticalDesc(query);//CouchBase Query
    }

这适用于Spring Class。但是当我用Struts调用它时如下:

CouchDao.getUnExpiredForClient(0);

getUnExpiredForClient()中的Try部分使用Null指针异常。

我的action-servlet.xml如下所示:

<bean name="/**" class="**.APIAction">
    <property name="CouchDao" ref="CouchDao" />

</bean> 

请帮助。

1 个答案:

答案 0 :(得分:0)

这里的问题是,使用struts你会“失去”Spring上下文。 Autowired annotation为spring上下文初始化bean ICouchbaseTemplateInterface,但不为struts初始化。

例如,由于您已在struts action xml文件中声明了Bean CouchDao,因此struts框架可用于注入Bean CouchDao,但它无法识别Autowired注释,因此ICouchbaseTemplateInterface未初始化并抛出NullPointerException。尝试在xml中注入该bean。

抱歉我的英文不好:)