您的位置:首页 > 编程语言 > Java开发

SpringMVC 具体的配置介绍

2015-08-12 21:18 483 查看
</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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: