前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SSM框架整合 原

SSM框架整合 原

作者头像
wuweixiang
发布2018-08-14 11:23:47
7120
发布2018-08-14 11:23:47
举报
文章被收录于专栏:吴伟祥吴伟祥

web.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

	<display-name>h5web</display-name>

    <!-- 配置中心listener 请保持在listener第一位-->
    <listener>
        <listener-class>com.zhaogang.config.service.init.InitContextLoaderListener</listener-class>
    </listener>

    <!-- spring -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!-- 请求相应编码为UTF8 -->
    <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- Spring的代理过滤器 用以可以在过滤器中完成spring注入 -->
    <filter>
        <filter-name>AbsoluteSendRedirectDelegatingFilterProxy</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
        <init-param>
            <param-name>targetBeanName</param-name>
            <param-value>absoluteSendRedirectFilter</param-value>
        </init-param>
        <init-param>
            <param-name>targetFilterLifecycle</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>AbsoluteSendRedirectDelegatingFilterProxy</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- springMvc -->
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <!-- session 失效时长 单位分钟 -->
    <session-config>
        <session-timeout>10080</session-timeout>
    </session-config>

    <!--未捕获异常处理-->
    <error-page>
        <error-code>404</error-code>
        <location>/error/error.html</location>
    </error-page>
    <error-page>
        <error-code>500</error-code>
        <location>/error/error.html</location>
    </error-page>

</web-app>

dispatcher-servlet.xml

代码语言:javascript
复制
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">

    <!-- 切面配置 -->
    <aop:aspectj-autoproxy />

    <!-- springMvc 拦截器 -->
    <mvc:interceptors>
        <!-- 权限判断拦截器 -->
        <mvc:interceptor>
            <mvc:mapping path="/**" />
            <mvc:exclude-mapping path="/MP_verify_**" /><!-- 微信js工具调用验证 -->
            <mvc:exclude-mapping path="/statics/**" />
            <mvc:exclude-mapping path="/error/**" />
            <bean class="com.zhaogang.webapp.interceptor.WechatAuthInterceptor" />
        </mvc:interceptor>
    </mvc:interceptors>

    <!-- springmvc 只扫描com.zhaogang.webapp -->
    <context:component-scan base-package="com.zhaogang.webapp" />

    <!-- 静态文件过滤可直接访问 -->
    <mvc:resources mapping="/MP_verify_**" location="/WEB-INF/check/" /><!-- 微信js工具调用验证 -->
    <mvc:resources mapping="/statics/**" location="/statics/" />
    <mvc:resources mapping="/error/**" location="/WEB-INF/pages/error/" />

    <!-- 只根据路径解析视图,采用UrlBasedViewResolver -->
    <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="prefix" value="/WEB-INF/pages/" />
        <property name="suffix" value=".html" />
        <property name="viewClass" value="com.zhaogang.webapp.view.HtmlView"/>
    </bean>

    <!-- 将@ResponseBody返回的数据编码为UTF-8防止乱码 -->
    <mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <!-- 将StringHttpMessageConverter的默认编码设为UTF-8 -->
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <constructor-arg value="UTF-8" />
            </bean>
            <!-- 将Jackson2HttpMessageConverter的默认格式化输出设为true -->
            <bean
                    class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="prettyPrint" value="true" />
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

    <!-- 统一公共异常处理 -->
    <bean id="exceptionHandler" class="com.zhaogang.webapp.handler.UnCatchExceptionHandler"/>

</beans>

applicationContext.xml

代码语言:javascript
复制
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

    <!-- 统一配置文件读入 -->
    <context:property-placeholder location="classpath*:runtime.properties" ignore-unresolvable="true" />

    <!-- redis缓存 -->
    <import resource="classpath*:applicationContext-redis.xml"/>

    <!-- 业务配置 -->
    <import resource="classpath*:applicationContext-biz.xml"/>

</beans>

applicationContext-biz.xml

代码语言:javascript
复制
<?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:context="http://www.springframework.org/schema/context"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
            http://www.springframework.org/schema/aop 
	http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">

	<!-- Activates scanning of @Autowired -->
	<context:annotation-config />

	<!-- Activates scanning of @Service -->
	<context:component-scan base-package="com.zhaogang" />

	<!-- 切面配置 -->
	<aop:aspectj-autoproxy />

	<!-- 事务管理类 -->
	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"/>
	</bean>

	<!-- 事务注解 -->
	<tx:annotation-driven transaction-manager="transactionManager"
						  proxy-target-class="true"/>

	<!-- mybatis 自动扫描Mapper -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.zhaogang.mapper"/>
		<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
	</bean>

	<!-- mybatis 配置 -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"/>
		<property name="typeAliasesPackage"
				  value="com.zhaogang.mapper"/>
		<property name="plugins">
			<list>
				<ref bean="mybatisPaginatorInterceptor"/>
			</list>
		</property>
		<property name="mapperLocations" value="classpath*:com/zhaogang/mapper/**/*Mapper.xml"/>
	</bean>

	<!-- mybatis分页插件 -->
	<bean name="mybatisPaginatorInterceptor" class="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor">
		<property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.MySQLDialect"></property>
	</bean>


	<!-- 数据源配置 start-->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName">
			<value>${jdbc.driverClassName}</value>
		</property>
		<property name="url">
			<value>${jdbc.url}</value>
		</property>
		<property name="username">
			<value>${jdbc.username}</value>
		</property>
		<property name="password">
			<value>${jdbc.password}</value>
		</property>
		<property name="initialSize">
			<value>${jdbc.initialSize}</value>
		</property>
		<property name="maxActive">
			<value>${jdbc.maxActive}</value>
		</property>
		<property name="testOnBorrow" value="true"/>
		<property name="testWhileIdle" value="true"/>
		<property name="validationQuery" value="select 1"/>
		<property name="timeBetweenEvictionRunsMillis" value="1200000"/>
		<property name="minEvictableIdleTimeMillis" value="3600000"/>
		<property name="numTestsPerEvictionRun" value="300000"/>
	</bean>
	<!-- 数据源配置 end-->

</beans>

注意:

*mapper.java 到*mapper.xml(IDEA中)

需要添加插件:Free Mybatis plugin

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017/07/17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
微服务引擎 TSE
微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档