spring MVC配置,启动报异常:Error creating bean with name 'userDao' defined in URL

org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'use... org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao' defined in URL [file:/D:/Program%20Files/Apache%20Software%20Foundation/Tomcat%207.0/webapps/springMVC_14/WEB-INF/classes/com/spring/mvc/config/user.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [D:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\springMVC_14\WEB-INF\classes\com\spring\mvc\config\spring-hibernate.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException

配置文件如下:
user.xml如下:
<beans>
<bean id="userDao" class="com.spring.mvc.dao.UserDAO">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="userManagerBase" class="com.spring.mvc.service.UserManager">
<property name="userDao" ref="userDao"></property>
</bean>
<bean id="userManager" parent="transactionBese">

<property name="target" ref="userManagerBase"></property>
</bean>
</beans>

hibernate.cfg.xml如下:

<hibernate-configuration>
<session-factory>
<mapping class="com.spring.mvc.entity.User"/>
</session-factory>
</hibernate-configuration>

spring-hibernate.xml如下:
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hiberante.format_sql">true</prop>
</props>
</property>
<property name="configLocations">
<list>
<value>
classpath*:com/spring/mvc/config/hibernate.cfg.xml
</value>
</list>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>

其中service中userDao和dao中的sessionFactory也写了set方法

web.xml中的部分代码:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:com/spring/mvc/config/spring-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:com/spring/mvc/config/spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
展开
 我来答
SWDgreat
2019-07-17 · TA获得超过8404个赞
知道答主
回答量:1012
采纳率:80%
帮助的人:22.9万
展开全部

有两种情况:

1、userDAO的set()和get()方法没有定义;

2、userDAO没有接口,有的话<bean id="userDao" class="com.spring.mvc.dao.UserDAO">应改为<bean id="userDao"class="com.spring.mvc.dao.UserDAOImp">它的接口相对应的类。

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。

使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts 2(一般老项目使用)等。


扩展资料

MVC作为WEB项目开发的核心环节,正如三个单词的分解那样,C(控制器)将V(视图、用户客户端)与M(javaBean:封装数据)构成了MVC 。

通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText和POI。

Spring MVC 框架并不知道使用的视图,所以不会强迫开发者只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、过滤器以及处理程序对象的角色,这种分离让它们更容易进行定制。

参考资料来源:百度百科-Spring MVC

参考资料来源:百度百科-接口(软件接口)

小蔡蔡爱猪猪
2019-06-03 · TA获得超过4996个赞
知道答主
回答量:125
采纳率:0%
帮助的人:3万
展开全部

spring MVC配置,启动报异常是因为系统配置出现异常导致的,建议进行重装系统的方法来解决,具体步骤如下图所示:

1、接着等待进入U盘装机大师主菜单界面,选择【01】运行U盘装机大师win8pe防蓝屏版,按回车键确认选择,如下图所示:

2、进入U盘装机大师win10pe系统后,U盘装机大师pe一键装机工具会自动开启并加载win10系统iso镜像文件gho安装程序,单击选择c盘为系统安装盘,再点击“确定”按钮继续,如下图所示:

3、随后弹出讯问题是窗口,点击“确定”按钮继续操作,如下图所示:

4、等待win10系统iso镜像文件gho安装程序释放完成并自动重启电脑,如下图所示:

5、电脑重启后会自动系统后续程序安装,并设置相关账户参数即可,直到进入win10应用选择界面,点击左下角“桌面”应用,此时即可进入到win10桌面,如下图所示:

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仝壮cy
2013-04-17 · TA获得超过119个赞
知道答主
回答量:10
采纳率:0%
帮助的人:1.2万
展开全部
1.你的userDAO的set()和get()方法有没有给,没有就错了
2.你的userDAO有没有接口,有的话<bean id="userDao" class="com.spring.mvc.dao.UserDAO">应改为<bean id="userDao" class="com.spring.mvc.dao.UserDAOImp">即他的接口对应的类

基本都是这两个原因引起的,另外注意别把字母大小写写错了
追问
我靠,点错了,上面那个点了一下选为满意答案,啊,我是要追问他的。。。。。。哎。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fafakkandyaer
2013-04-17 · TA获得超过298个赞
知道小有建树答主
回答量:266
采纳率:100%
帮助的人:173万
展开全部
问题出在你sessionFactory这个bean的配置有问题,但是具体的还要看你贴更多的出来

还有,为啥你的所有classpath的配置都是写的classpath* ?把那个 * 去掉试试
更多追问追答
追问
UserDao:
public class UserDAO implements IUserDAO {
private SessionFactory sessionFactory;
public SessionFactory getSessionFactory() {
return sessionFactory;
}
UserManager :
public class UserManager implements IUserManager {
private IUserDAO userDao;
public void setUserDao(IUserDAO userDao) {
this.userDao = userDao;
}
追答
sessionFactory不用get,要set
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式