当前位置: 代码迷 >> Java Web开发 >> SpringMVC4+Spring+Hibernate4整合有关问题
  详细解决方案

SpringMVC4+Spring+Hibernate4整合有关问题

热度:79   发布时间:2016-04-13 22:14:17.0
SpringMVC4+Spring+Hibernate4整合问题
spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop 
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">


<!-- 自动扫描dao和service包(自动注入) -->

<context:component-scan base-package="org.com.smsh.dao,corg.com.smsh.service" />
<!-- 扫描controller的位置 -->
<context:component-scan base-package="org.com.smsh.**.*" />
<mvc:annotation-driven />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/" />
<property name="suffix" value=".jsp" />
</bean>
<!-- Spring mvc 拦截器 -->
<!--权限控制 -->
<!-- <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"> 
<property name="interceptors"> <list> <bean class="com.hb.lw.interceptor" 
/> </list> </property> </bean> -->


<!--文件上传 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="1000000000" />
</bean>

<!-- 异常处理类 -->
<bean id="exceptionResolver"
class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="defaultErrorView">
<value>/common/failure</value>
</property>
<property name="exceptionMappings">
<props>
<prop key="java.sql.SQLException">/common/failure</prop>
<prop key="java.lang.RuntimeException">/common/failure</prop>
</props>
</property>
</bean>
</beans>




springContext.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:c="http://www.springframework.org/schema/c" xmlns:cache="http://www.springframework.org/schema/cache" xmlns:context="http://www.springframework.org/schema/context" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:lang="http://www.springframework.org/schema/lang" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p" xmlns:task="http://www.springframework.org/schema/task" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">

 <!-- 当前Spring支持注解 -->
  <mvc:annotation-driven />
 <context:annotation-config/>
 <!-- 设置当前项目的根包 -->
 <context:component-scan base-package="org.com.smsh" />
 
 <!-- 引入属性文件 -->

  <context:property-placeholder location="classpath:property/config.properties" />
 
<!-- 配置数据源 -->
 <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
    <property name="url" value="${jdbc_url}" />
    <property name="username" value="${jdbc_username}" />
    <property name="password" value="${jdbc_password}" />
    <!-- 初始化连接大小 -->
    <property name="initialSize" value="0" />
    <!-- 连接池最大使用连接数量 -->
    <property name="maxActive" value="20" />
    <!-- 连接池最大空闲 -->
    <property name="maxIdle" value="20" />
    <!-- 连接池最小空闲 -->
    <property name="minIdle" value="0" />
    <!-- 获取连接最大等待时间 -->
    <property name="maxWait" value="60000" />
<!--<property name="poolPreparedStatements" value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="33" /> -->

    <property name="validationQuery" value="${validationQuery}" />
    <property name="testOnBorrow" value="false" />
    <property name="testOnReturn" value="false" />
    <property name="testWhileIdle" value="true" />

    <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
    <property name="timeBetweenEvictionRunsMillis" value="60000" />
    <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
    <property name="minEvictableIdleTimeMillis" value="25200000" />

    <!-- 打开removeAbandoned功能 -->
    <property name="removeAbandoned" value="true" />

    <!-- 1800秒,也就是30分钟 -->
    <property name="removeAbandonedTimeout" value="1800" />

    <!-- 关闭abanded连接时输出错误日志 -->
    <property name="logAbandoned" value="true" />

    <!-- 监控数据库 -->

    <!-- <property name="filters" value="stat" /> -->
    <property name="filters" value="mergeStat" />

   </bean>
<!-- 配置数据源结束 -->

<!-- 配置session工厂 -->
 <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="hibernateProperties">
      <props>
        <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
        <prop key="hibernate.dialect">${hibernate.dialect}</prop>
        <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
        <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
      </props>
    </property>

<property name="packagesToScan">
<list>
<!-- 用于试验的实体类 -->
<value>org.com.smsh.model</value>
</list>
</property>
</bean>
<!-- 配置事务管理器 -->
<bean name="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 拦截器方式配置事物 -->
<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="saveOrUpdate*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
<tx:method name="grant*" propagation="REQUIRED" />

<tx:method name="init*" propagation="REQUIRED" />
<tx:method name="getNext*" propagation="REQUIRED" />

<tx:method name="*" propagation="REQUIRED" read-only="true" />
</tx:attributes>
</tx:advice>
<aop:config>
<!-- 第一个*代表所有的返回值类型;第二个*代表所有的类;第三个*代表类所有方法;..代表子或者孙子包;最后一个..代表所有的参数 -->
<aop:pointcut id="transactionPointcut" expression="(execution(* org.com.smsh.service..*Impl.*(..)))" />
<aop:advisor pointcut-ref="transactionPointcut" advice-ref="transactionAdvice" />
</aop:config>
</beans>






------解决思路----------------------
No mapping found for HTTP request with URI [/SMSH/manager/user-list.do] in DispatcherServlet with name 'spring-mvc'



no mapping 光看字面应该是没mapping正确
------解决思路----------------------
据我所知

你这个
/users-list.do

URL里面好像不能包含字符   “  -  ” 吧


------解决思路----------------------
你的@RequestMapping(value = "/users-list.do")写的是users-list.do,而你的url上写的是user-list.do,user少了个‘s’.
以后写的时候弄仔细,别因为这点小问题耽误时间。
------解决思路----------------------
引用:
Quote: 引用:

你的@RequestMapping(value = "/users-list.do")写的是users-list.do,而你的url上写的是user-list.do,user少了个‘s’.
以后写的时候弄仔细,别因为这点小问题耽误时间。

2015-10-20 20:30:36,982 WARN [org.springframework.web.servlet.PageNotFound:1136] - No mapping found for HTTP request with URI [/SMSH/users-list.do] in DispatcherServlet with name 'spring-mvc'
一样不行  



这回你的错误日志里 [/SMSH/users-list.do]又少了个manager吧
  相关解决方案