SSM框架整合(spring springMVC mybatis)

1.web.xml配置

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  3.   <display-name>ssm</display-name>
  4.     <servlet-mapping>
  5.     <servlet-name>default</servlet-name>
  6.     <url-pattern>/assets/*</url-pattern>
  7.   </servlet-mapping>
  8.   <filter>
  9.     <filter-name>encodingFilter</filter-name>
  10.     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  11.     <init-param>
  12.       <param-name>encoding</param-name>
  13.       <param-value>UTF-8</param-value>
  14.     </init-param>
  15.     <init-param>
  16.       <param-name>forceEncoding</param-name>
  17.       <param-value>true</param-value>
  18.     </init-param>
  19.   </filter>
  20.   <filter-mapping>
  21.     <filter-name>encodingFilter</filter-name>
  22.     <url-pattern>/*</url-pattern>
  23.   </filter-mapping>
  24.   <servlet>
  25.     <servlet-name>spring4mvc</servlet-name>
  26.     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  27.     <load-on-startup>1</load-on-startup>
  28.   </servlet>
  29.   <servlet-mapping>
  30.     <servlet-name>spring4mvc</servlet-name>
  31.     <url-pattern>/</url-pattern>
  32.   </servlet-mapping>
  33.   <context-param>
  34.     <param-name>contextConfigLocation</param-name>
  35.     <param-value>/WEB-INF/config/spring-*.xml</param-value>
  36.   </context-param>
  37.   <listener>
  38.     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  39.   </listener>
  40.   <servlet>
  41.     <servlet-name>DruidStatView</servlet-name>
  42.     <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
  43.   </servlet>
  44.   <servlet-mapping>
  45.     <servlet-name>DruidStatView</servlet-name>
  46.     <url-pattern>/druid/*</url-pattern>
  47.   </servlet-mapping>
  48.   <error-page>
  49.     <error-code>404</error-code>
  50.     <location>/error/404.jsp</location>
  51.   </error-page>
  52.   <error-page>
  53.     <error-code>500</error-code>
  54.     <location>/error/500.jsp</location>
  55.   </error-page>
  56. </web-app>

2.建立spring4mvc-servlet.xml配置文件
看名字就知道这个就是springMVC配置

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3.        xmlns:context="http://www.springframework.org/schema/context"
  4.        xmlns:mvc="http://www.springframework.org/schema/mvc"
  5.        xmlns:cache="http://www.springframework.org/schema/cache"
  6.        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  7.         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
  8.         http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
  9.         http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd">
  10.     <!-- 启用spring mvc 注解-->
  11.     <mvc:annotation-driven>
  12.         <!-- 启动JSON格式的配置 -->
  13.         <mvc:message-converters>
  14.         <!-- 这里也可以自己定制class -->
  15.         <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
  16.             <property name="supportedMediaTypes">
  17.                 <list>
  18.                     <value>text/html;charset=UTF-8</value>  <!-- 避免IE出现下载JSON文件的情况 -->
  19.                 </list>
  20.             </property>
  21.         </bean>
  22.     </mvc:message-converters>
  23.     </mvc:annotation-driven>
  24.     <!-- 对静态资源文件的访问   缓存一年
  25.     <mvc:resources mapping="/images/**" location="/WEB-INF/images/"  cache-period="31536000"/>
  26.     <mvc:resources mapping="/css/**" location="/WEB-INF/css/" />
  27.     <mvc:resources mapping="/js/**" location="/WEB-INF/js/" />
  28.     <mvc:resources mapping="/fonts/**" location="/WEB-INF/fonts/" />
  29.     <mvc:resources mapping="/favicon.ico" location="favicon.ico" />
  30.      -->
  31.     <!-- 自动扫描的包名 ,使Spring支持自动检测组件,如注解的Controller-->
  32.     <context:component-scan base-package="cc.javar.controller" />
  33.     <context:component-scan base-package="cc.javar.service"/>
  34.     <!-- 视图解析器:定义跳转的文件的前后缀 -->
  35.     <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  36.         <property name="prefix" value="/WEB-INF/jsp/" />
  37.         <property name="suffix" value=".jsp" />  <!--可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑  -->
  38.     </bean>
  39.     <!--<mvc:view-controller path="/" view-name="forward:/index.jsp"/>  -->
  40.     <!-- 缓存配置(两种) -->
  41.     <!-- 启用缓存注解功能(请将其配置在Spring主配置文件中) -->
  42.     <cache:annotation-driven cache-manager="cacheManager"/>
  43.     <!-- Spring自己的基于java.util.concurrent.ConcurrentHashMap实现的缓存管理器(该功能是从Spring3.1开始提供的) -->
  44.     <!--
  45.     <bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">
  46.         <property name="caches">
  47.             <set>
  48.                 <bean name="myCache" class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"/>
  49.             </set>
  50.         </property>
  51.     </bean>
  52.      -->
  53.     <!-- 若只想使用Spring自身提供的缓存器,则注释掉下面的两个关于Ehcache配置的bean,并启用上面的SimpleCacheManager即可 -->
  54.     <!-- Spring提供的基于的Ehcache实现的缓存管理器 -->
  55.     <bean id="cacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
  56.         <property name="configLocation" value="classpath:ehcache.xml"/>
  57.     </bean>
  58.     <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
  59.         <property name="cacheManager" ref="cacheManagerFactory"/>
  60.     </bean>
  61. </beans>

3.spring-dao.xml 配置
这个就是spring和mybatis整合得配置 主要就是自动扫描,自动注入,配置数据库。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3.        xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"
  4.        xmlns:context="http://www.springframework.org/schema/context"
  5.        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  6.        http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd
  7.        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
  8.     <!-- 该包下的类支持注解,表示会被当作{@code mybatis mapper}处理 配置了之后表示可以自动引入mapper类-->
  9.     <mybatis:scan base-package="cc.javar.dao"/>
  10.     <!--引入属性文件 -->
  11.     <context:property-placeholder location="classpath:javar.properties"/>
  12.     <!--数据库连接-->
  13.     <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
  14.         <property name="url" value="${jdbc.url}" />
  15.         <property name="username" value="${jdbc.username}"/>
  16.         <property name="password" value="${jdbc.password}"/>
  17.         <!-- 配置初始化大小、最小、最大 -->
  18.         <property name="initialSize" value="${jdbc.initialSize}"/>
  19.         <property name="maxActive" value="${jdbc.maxActive}"/>
  20.         <property name="minIdle" value="${jdbc.minIdle}"/>
  21.         <!-- 配置获取连接等待超时的时间 -->
  22.         <property name="maxWait" value="${jdbc.maxWait}"/>
  23.         <!-- 配置监控统计拦截的filters -->
  24.         <property name="filters" value="${jdbc.filters}"/>
  25.         <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
  26.         <property name="timeBetweenEvictionRunsMillis" value="${jdbc.timeBetweenEvictionRunsMillis}"/>
  27.         <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
  28.         <property name="minEvictableIdleTimeMillis" value="${jdbc.minEvictableIdleTimeMillis}"/>
  29.         <!--
  30.         <property name="validationQuery"><value>SELECT 'x'</value></property>
  31.         <property name="testWhileIdle"><value>true</value></property>
  32.         <property name="testOnBorrow"><value>false</value></property>
  33.         <property name="testOnReturn"><value>false</value></property>
  34.         <property name="poolPreparedStatements"><value>true</value></property>
  35.         <property name="maxOpenPreparedStatements"><value>20</value></property>
  36.          -->
  37.     </bean>
  38.     <!-- mybatis配置 -->
  39.        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  40.         <property name="dataSource" ref="dataSource"/>
  41.         <property name="mapperLocations">
  42.             <array>
  43.                 <value>classpath:cc.javar.dao/*.xml</value>
  44.             </array>
  45.         </property>
  46.         <property name="typeAliasesPackage" value="cc.javar.model"/>
  47.         <property name="plugins">
  48.             <array>
  49.                 <bean class="com.github.pagehelper.PageInterceptor">
  50.                     <!-- 这里的几个配置主要演示如何使用,如果不理解,一定要去掉下面的配置 -->
  51.                     <property name="properties">
  52.                         <value>
  53.                             helperDialect=mysql
  54.                             reasonable=true
  55.                             supportMethodsArguments=true
  56.                             params=count=countSql
  57.                             autoRuntimeDialect=true
  58.                         </value>
  59.                     </property>
  60.                 </bean>
  61.             </array>
  62.         </property>
  63.     </bean>
  64. </beans>

 

4log4j.properties配置
通过使用Log4j,我们可以查看日志、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程

  1. log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  2. log4j.appender.stdout.Target=System.out
  3. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  4. log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}  %m%n
  5. log4j.appender.file=org.apache.log4j.FileAppender
  6. log4j.appender.file.File=d:\accp.log
  7. log4j.appender.file.layout=org.apache.log4j.PatternLayout
  8. log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}  %l  %m%n
  9. log4j.rootLogger=error, stdout, file

5javar.properties配置
这个就是数据库配置与上面引用到得。

  1. jdbcjdbc.url=jdbc\:mysql\://192.168.0.101\:3306/ssm?useUnicode\=true&characterEncoding\=UTF-8&zeroDateTimeBehavior\=convertToNull
  2. jdbc.username=root
  3. jdbc.password=123141
  4. jdbc.initialSize=1
  5. jdbc.maxActive=20
  6. jdbc.minIdle=20
  7. jdbc.maxWait=60000
  8. jdbc.filters=stat
  9. jdbc.timeBetweenEvictionRunsMillis=60000
  10. jdbc.minEvictableIdleTimeMillis=300000

6.ehcache.xml配置
这个是数据库缓存插件想用就配置下。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <ehcache dynamicConfig="false" monitoring="off" updateCheck="false"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd">
  4.     <!-- 定义缓存策略
  5.         eternal="false"                 // 元素是否永恒,如果是就永不过期(必须设置)
  6.         maxEntriesLocalHeap="1000"      // 堆内存中最大缓存对象数,0没有限制(必须设置)
  7.         overflowToDisk="false"          // 当缓存达到maxElementsInMemory值是,是否允许溢出到磁盘(必须设置)
  8.         diskPersistent="false"          // 磁盘缓存在VM重新启动时是否保持(默认为false)
  9.         timeToIdleSeconds="0"           // 导致元素过期的访问间隔(秒为单位). 当eternal为false时,这个属性才有效,0表示可以永远空闲,默认为0
  10.         timeToLiveSeconds="600"         // 元素在缓存里存在的时间(秒为单位). 0 表示永远存在不过期
  11.         memoryStoreEvictionPolicy="LFU" // 当达到maxElementsInMemory时,如何强制进行驱逐默认使用"最近使用(LRU)"策略,其它还有先入先出FIFO,最少使用LFU,较少使用LRU
  12.    -->
  13.     <defaultCache eternal="false" maxEntriesLocalHeap="0" timeToIdleSeconds="300" timeToLiveSeconds="300"/>
  14.     <cache name="myCache" maxEntriesLocalHeap="1000" />
  15. </ehcache>

到此为止其实配置已经好了,已经整合完毕。如想详细他其他文件继续看。

腾讯云服务器安全可靠高性能,多种配置供您选择
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: