SSH配置中出现问题

问题1:org.springframework.beans.factory.NoSuchBeanDefinitionException:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sessionFactory' is defined

1)在web.xml中添加:

1
2
3
4
5
6
7
8
9
<!-- 解决Hibernate延迟加载问题 -->
  <filter> 
       <filter-name>HibernateOpenSession</filter-name>   
      <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class
      <init-param> 
        <param-name>sessionFactoryBeanName</param-name> 
       <param-value>mySessionFactory</param-value>
     </init-param>
</filter> 

 2)在基础类中重写sessionFactory方法

// 使用注解方式进行依赖注入
        @Resource
        // @Autowired
        // @Qualifier(value="abc")
        public void setMySessionFactory(SessionFactory sessionFactory) {
            super.setSessionFactory(sessionFactory);
        }

问题2: javax.servlet.ServletException: Servlet.init() for servlet springMVC threw exception

复制代码
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
 3     org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
 4     org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
 5     org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
 6     org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
 7     org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
 8     org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2466)
 9     org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2455)
10     java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
11     java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
12     org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
13     java.lang.Thread.run(Thread.java:745)
14 
15 root cause
16 
17 java.lang.IllegalArgumentException
18     org.springframework.asm.ClassReader.<init>(Unknown Source)
19     org.springframework.asm.ClassReader.<init>(Unknown Source)
20     org.springframework.asm.ClassReader.<init>(Unknown Source)
21     org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:52)
22     
复制代码

解决办法:

一:把jdk版本换成1.7 or 1.7以下

1)打开eclipse后依次打开windows——》Preferences,打开属性窗口

2)在打开的preferences窗口的左边树形菜单中依次展开:java——》Compiler,如图

然后点击apply

原因:1.8版本与asm.jar不兼容

二:使用spring 4.0RELEASE及以上版本

 问题3:applicationContext.xml

解决方法:

1)applicationContext.xml文件的位置放置

 

 

2)在web.xml中配置
复制代码
<!-- 指定spring配置文件的位置 -->
  <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath*:config/applicationContext.xml</param-value>
  </context-param>
  <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  
复制代码

 

 
 

posted on   小企鹅ITgo  阅读(388)  评论(0编辑  收藏  举报

< 2024年12月 >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4
5 6 7 8 9 10 11

统计

点击右上角即可分享
微信分享提示