SpringMVC 具体的配置介绍

本文详细介绍了Spring MVC和Hibernate的整合配置过程,包括Servlet配置、注解扫描、视图解析器设置、静态资源映射、上传文件处理、异常处理等关键步骤,以及Spring配置文件中的数据源、SessionFactory、事务管理器等核心组件的配置。
</pre><p><pre name="code" class="java">首先spring-servlet.xml的配置:
  <!-- 注解扫描包 -->  
    <context:component-scan base-package="com.zhd" />  这个是<!-- 适配器 DefaultAnnotationHandlerMapping最方便的 -->,此配置,将会扫描包下的所有类。请求的URL会根据RequestMapping直接找到具体的controller,进行处理。
  
    <!-- 开启注解 -->
    <mvc:annotation-driven />

<!-- 定义视图解析器 --> 
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">         controller返回的值通过视图解析器添加好前缀和后缀,可以直接调转到对应的jsp中,进行展示结果。
<property name="prefix" value="/"></property> 
<property name="suffix" value=".jsp"></property> 
</bean> 

 <!-- 静态资源映射 -->
    <mvc:resources mapping="/images/**" location="/images/"/>
    <mvc:resources mapping="/reportpicture/**" location="/reportpicture/"/>                                              此配置jsp页面可以直接访问引用这些静态资源,这个访问url直接跳过拦截器的拦截。
    <mvc:resources mapping="/css/**" location="/css/"/>
    <mvc:resources mapping="/js/**" location="/js/"/>

 
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">               <!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 -->  
        <property name="defaultEncoding" value="UTF-8"/>  
        <!-- 指定所上传文件的总大小不能超过200KB。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 -->  
        <property name="maxUploadSize" value="2000000"/>  
    </bean>  


<!-- SpringMVC在超出上传文件限制时,会抛出org.springframework.web.multipart.MaxUploadSizeExceededException -->  
    <!-- 该异常是SpringMVC在检查上传的文件信息时抛出来的,而且此时还没有进入到Controller方法中 -->  
    <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">  
        <property name="exceptionMappings">  
            <props>  
                <!-- 遇到MaxUploadSizeExceededException异常时,自动跳转到/WEB-INF/jsp/error_fileupload.jsp页面 -->  
                <prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">error_fileupload</prop>  
            </props>  
        </property>  
    </bean>  

基本上spring-servlet。xml配置
1、注解扫描包 。 
2、开启注解。
3、定义视图解析器。
4、静态资源映射,
5、上传文件的MultipartResolver。
这些信息就够了。

spring-config.xml的配置:
<!-- 扫描注解Bean -->
<context:component-scan base-package="com.zhd">
<context:exclude-filter type="annotation"
expression="org.springframework.stereotype.Controller" />
</context:component-scan>
<!-- 配置数据源 -->
<bean id="dataSource" 
class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
   <property name="url" value="jdbc:mysql://localhost:3306/66"></property>
   <property name="username" value="root"></property>
   <property name="password" value="java"></property>
</bean>
<!-- 配置SessionFactory -->
<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.MySQLDialect</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>

<property name="packagesToScan">                                         spring注解hibernate实体方法。通过实体的包名一次性注解。
<list>
<value>com.zhd.entity</value>
</list>
</property>

</bean>
<!-- 配置一个事务管理器 --><!-- 开启注释。注释在servlet.xml中配置着 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>


<!-- 配置事务,使用代理的方式 -->
<bean id="transactionProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
<property name="transactionManager" ref="transactionManager"></property>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="modify*">PROPAGATION_REQUIRED,-myException</prop>
<prop key="del*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
</beans> 








 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值