`

Error creating bean with name 'userDao'

阅读更多
严重: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.lj.service.IUserService com.lj.controller.UserController.userService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void com.lj.dao.UserDao.setSessionFactory(org.hibernate.SessionFactory); nested exception is java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider;


在启动的时候,会报出一堆这样的错误。 所有我们使用Annotation的注入都会被报错。

出现这个错误的原因是Spring对sessionFactory的管理。

 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">


这里我们使用了hibernate3.LocalSessionFactoryBean,
但是这个类是不支持对Annotation进行管理的。
也就是说我们没有使用mapping文件比如User.xml文件来进行映射的管理。

这里的解决方法有两种,

1: orm.hibernate3.LocalSessionFactoryBean改成orm.hibernate3.annotation.AnnotationSessionFactoryBean,
后者支持hibernate通过Annotation管理映射。

2: 改成orm.hibernate4.LocalSessionFactoryBean.
这里貌似要使用hibernate4才可以。

总之如果容器启动就看到一堆初始化错误,注入异常的信息,很可能就是这个原因了。




分享到:
评论

相关推荐

    UserDAO JAVA

    UserDAO JAVA

    jdbc——内嵌事务

    &lt;bean id="userDao" class="my.aop.dao.UserDaoJdbcImpl" scope="singleton"&gt; &lt;property name="dataSource" ref="dataSource"&gt;&lt;/property&gt; &lt;/bean&gt; &lt;bean id="myService" class="my.aop.dao.MyService"&gt; ...

    UserDAO.class

    UserDAO.class

    Spring-注入依赖,AOP,自动注入Bean

    &lt;property name="userDao" ref="userDao"/&gt; &lt;/bean&gt; &lt;bean id="userDao" class="com.example.UserDao"/&gt; ``` 或 ```java @Service public class UserService { @Autowired private UserDao userDao; } ``` 接...

    javaSpring注解入门[参考].pdf

    在上面的例子中,@Autowired注解将UserDao类型的唯一一个bean装配到userDao这个成员变量或setter方法中。 1.2 让@Autowired工作起来 为了使@Autowired能够工作,我们需要在配置文件中加入以下代码: Java 代码: `...

    spring annotation注解

    区别是:第一种实现中,Spring 会直接将 UserDao 类型的唯一一个 bean 赋值给 userDao 这个成员变量;第二种实现中,Spring 会将 userDao 这个成员变量的 setter 方法与 userDao bean 进行绑定。 2. @Autowired ...

    (1)定义4个接口:UserDao、BoardDao、TopicDao、ReplyDao (2)编写UserDao接口的实现类UserDaoImp1

    (1)定义接口:UserDao、TopicDao (2)声明接口的方法 UserDao:查找用户、增加用户、修改用户 TopicDao:查找主题、增加主题、修改主题、删除主题 实现思路及关键代码 (1)定义接口UserDao (2)声明UserDao...

    spring setter 和构造 注入 例子 spring 4.2.0

    &lt;property name="userDao" ref="userDao"/&gt; &lt;/bean&gt; ``` 这里,`userService` Bean的`userDao`属性将被`userDao` Bean注入。 接下来是构造器注入。这种方式是在创建对象时就提供其依赖,通过传递构造函数参数来...

    基于java的企业级应用开发:Bean的装配方式.ppt

    &lt;property name="username" value="张三" /&gt; &lt;/bean&gt; ``` 为了使Spring能够进行XML装配,Bean类需要满足一些条件,如提供无参构造器,为需要注入的属性提供setter方法等。 **基于注解的装配** 随着Java注解的...

    spring 复习整理

    其中,`userManager` Bean 依赖于 `userDao4OracleImpl` Bean,这种依赖关系将被 IOC 容器所管理。 三、依赖注入 在 Spring 框架中,依赖注入是指 IOC 容器将一个 Bean 的依赖关系注入到另一个 Bean 中的过程。...

    ssm例子一直报错userDao无法注入

    1. **配置文件错误**:检查Spring的配置文件(如`applicationContext.xml`或`beans.xml`),确保`UserDao`接口的实现类已经被正确地定义为bean,并且设置了正确的扫描路径。例如: ```xml &lt;bean id="userDao" class...

    Spring 学习笔记《依赖注入》源文件

    &lt;property name="userDao" ref="userDao"/&gt; &lt;/bean&gt; &lt;bean id="userDao" class="com.example.UserDao"/&gt; ``` 在上面的例子中,`userService` bean的`userDao`属性将被`userDao` bean的实例注入。 此外,Spring还...

    Spring中实例化bean的四种方式详解

    &lt;property name="userDao" ref="userDao"/&gt; &lt;/bean&gt; ``` 这里,`userDAOConfig` Bean 的 `userDao` 属性通过 `ref` 属性引用了 `userDao` Bean。 二、构造函数方式 如果我们希望在创建Bean时就完成依赖注入,...

    spring注解使用

    假设存在多个 `UserDAO` 的 Bean 实例,可以通过 `@Qualifier` 来指定具体的 Bean 实例: ```java @Autowired public void setUserDao(@Qualifier("userDao") UserDAO userDao) { this.userDao = userDao; } ``` ...

    Spring三种注入方式(二)

    在这里,`userService` bean的`userDao`属性通过`setter`方法被`userDao` bean注入。`name`属性对应于setter方法参数的字段名,`ref`属性引用了需要注入的bean的ID。 ### 二、setter注入的优点与缺点 **优点:** 1...

    java快速搭建spring-mvc所需的配置文件

    &lt;property name="userDao" ref="userDao"/&gt; &lt;/bean&gt; &lt;bean id="userDao" class="com.example.UserDaoImpl"/&gt; ``` `spring-dao.xml`则是数据访问对象(DAO)的配置文件,主要用于配置数据源、事务管理和SQL映射...

    UserDao1.java

    UserDao1.java

    数据库生成相关的DAO和相应的BEAN文件

    运行工具后,会根据表结构生成对应的BEAN类(如UserBean、OrderBean等)和DAO接口及实现(如UserDAO、OrderDAO等)。 生成的BEAN类通常包括如下内容: - 类名:基于数据库表名,遵循驼峰命名法。 - 属性:与表的...

    spring依赖注入三种方式 测试源码

    &lt;property name="userDao" ref="userDao"/&gt; &lt;/bean&gt; ``` 3. **接口注入** 接口注入在Spring中较少使用,主要是通过实现特定的接口,由Spring提供实现该接口的方法来注入依赖。这种方式对类的侵入性较大,但可以...

    SpringMVCr接收表单bean示例

    在这个例子中,`saveUser`方法接收一个`User`类型的参数,`@ModelAttribute("user")`告诉Spring MVC将请求参数绑定到`User`对象上,"user"是表单提交时的bean名称,应与HTML表单中的`name`属性匹配。 接着,Spring ...

Global site tag (gtag.js) - Google Analytics