簡體   English   中英

Spring MVC,將 Hibernate 服務注入 Spring bean 失敗,不知道為什么

[英]Spring MVC, injection of Hibernate Service into Spring bean is failing, not sure why

我有一個在 applicationContext 中配置的 spring bean,如下所示:

<bean id="beanIRPlus" class="org.jadefalcon.demo.server.Spring.beans.BeanIRPlus" />

然后我有一個 Hibernate 服務,如下所示,我試圖注入 Spring bean。 通常,例如,如果我使用注入到我的 controller 的原型 bean 並且具有注入的 Hibernate 服務,它工作正常,但是對於這個特定的 bean,它是一個 Z2ED500A3529637175E675A8791B7 應用程序啟動時創建的。 我什至確保將 bean 聲明放在applicationContext.xml文件的最后,認為它可能必須放在與 Hibernate 相關的任何內容之后,但問題仍然存在。 它給出了 null 指針異常,即CasesService object 不存在。 非常感謝任何關於我做錯的建議:

import javax.annotation.Resource;

import org.apache.log4j.Logger;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.jadefalcon.demo.domain.Cases;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service("casesservice")
@Transactional
public class CasesService {

    protected static Logger logger = Logger.getLogger("service");

    @Resource(name = "sessionFactory")
    private SessionFactory sessionFactory;

    public void add(Cases cases) {
        logger.debug("Saving new search");

        // Retrieve session from Hibernate
        Session session = sessionFactory.getCurrentSession();

        // Save
        session.save(cases);
    }
}

我沒有看到你是如何嘗試注入它的。 你至少有兩個選擇:

  • xml。 在您的 controller bean 定義中定義一個<property name=".." ref="casesservice">
  • 注釋。 使用@Autowired private CaseService service (或@Inject

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM