当前位置: 首页 > 知识库问答 >
问题:

Hibernate 4和Spring 3.0.5集成的NullPointException

佴淮晨
2023-03-14

http://www.springframework.org/schema/beans/spring-beans-3.1.xsd“>

<!-- Database Configuration -->
<import resource="config/spring/DataSource.xml"/>
<import resource="config/spring/HibernateSessionFactory.xml"/>

<!-- Beans Declaration -->
<import resource="config/spring/UserBeans.xml"/>
2. HibernateSessionFactory.xml

<property name="dataSource">
  <ref bean="dataSource"/>
</property>

<property name="hibernateProperties">
   <props>
     <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
     <prop key="hibernate.show_sql">true</prop>
   </props>
</property>

<property name="mappingResources">
    <list>
      <value>com/model/TblUser.hbm.xml</value>
    </list>
</property> 

datasource.xml

jdbc.driverclassname=com.mysql.jdbc.driver jdbc.url=jdbc:mysql:localhost:3306/auction_nms jdbc.username=root jdbc.password=root

userbeans.xml

<!-- User business object -->

/*
 * @see com.dao.UserDao#save(com.model.TblUser)
 */
@Override
public void save(TblUser user) {
    sessionFactory.getCurrentSession().save(user);
}
public class App {

    // get log4j handler
    private static final Logger logger = Logger.getLogger(App.class);

    static TblUser              user   = new TblUser(2, "2", "2");

    public static void main(String[] args) {
        try {
            UserDao userDao = new UserDaoImpl();
            userDao.save(user);
        } catch (Exception e) {
            System.err.`enter code here`println(e);
        } finally {
            if (logger.isDebugEnabled()) {
                logger.debug(user);
            }
        }
    }
}

非常感谢!!!

共有1个答案

洪成济
2023-03-14

您正在使用new关键字创建userDAO对象。您应该通过加载appContext来启动spring容器,在本例中为springbeans.xml。如果您使用new关键字,Spring不会管理您的依赖项,因此,您的sessionFactory永远不会注入到DAO实例中。

这应该是您main()的内容,而不是当前的内容。

ApplicationContext appContext = new ClassPathXmlApplicationContext(new String[] {
        "classpath*:/META-INF/SpringBeans.xml"
        });
appContext.getBean("userDao");

...把你的钱存起来。

 类似资料:
  • 问题内容: 他们幸福地结婚了吗? 我正在使用最新版本的hibernate(4)和1.3版的joda-time hibernate支持,我也相信这是当前的最新版本。 使用批注时,一切似乎都正常(按预期方式创建了日期列): 一起使用这些版本是否存在任何已知问题? Update Well证明已创建列,但无法填充任何数据: 处理程序处理失败; 嵌套的异常是java.lang.AbstractMethodE

  • 我的web应用程序使用的是Spring3.1和hibernate4。在这里,我试图为eh缓存,但得到一些错误,这是我的配置,我已经使用:- dispatcher-servlet.xml ehcache.xml 这是依赖性:— 我得到以下错误:-- 严重:在org.springframework.beans.factory中上下文初始化失败。BeanCreationException:创建名为“or

  • 在我的项目中,我一直在使用Spring3和Hibernate4。我已经添加了支持Spring3和Hibernate4项目的所有依赖项。我并不特定于hibernate上的版本,但它应该支持Spring3。 当我尝试在Tomcat7项目上部署时,我得到了以下异常。 原因:org。springframework。豆。工厂BeanCreationException:无法自动关联字段:私有组织。冬眠Sess

  • 问题内容: 现在,开发iOS应用程序的新语言已变得 迅捷 。 我们如何与 AFNetworking 集成或使用 NSURLSession 将是一个更好的选择? 请帮帮我.. 问题答案: 您必须将AFNetworking添加到您的swift项目 在构建设置->定义模块中设置为是 在构建设置-> Swift编译器-> Objective-C桥接文件中,例如,设置桥接文件’ProjectName-Bri

  • 问题内容: 我想捕获我在jsp中构建的responseXML。我该怎么办。之后,我将其转换为html。我知道这很烦人,我们可以使用框架或类似jquery的库来实现,但我可以用ajax来实现。由于我必须使用JSON SERVICE,因此我在使用jquery和jsp \ servlet时也遇到了问题。为什么在我看来是如此复杂。 问题答案: 不需要那么复杂。您可能只需要一个人调整所有技术即可。JSP,S

  • 主要内容:步骤1 - 打开Eclipse Marketplace,步骤2 - 安装Buildship插件,步骤3 - 验证Gradle插件安装情况,步骤4 - 验证目录结构本章将介绍了集成。以下是将插件添加到的步骤。 步骤1 - 打开Eclipse Marketplace 打开在系统中安装好的。 转到 → ,如下面的屏幕截图所示。 步骤2 - 安装Buildship插件 单击 Eclipse 中的 ,在打开界面中找到以下屏幕截图。在左侧搜索栏上输入。是一个Gradle集成插件。当在屏幕上找到时,