版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/qq_27612843/article/details/78537524
web.xml配置
-
<?xml version=
"1.0" encoding=
"utf-8"?>
-
<web-app xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
-
xmlns=
"http://java.sun.com/xml/ns/javaee"
-
xsi:schemaLocation=
"http://java.sun.com/xml/ns/javaee
-
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
-
id=
"WebApp_ID" version=
"3.0">
-
<!-- 配置Spring配置文件路径 -->
-
<context-param>
-
<param-name>contextConfigLocation</param-name>
-
<param-value>
-
classpath:applicationContext.xml
-
</param-value>
-
</context-param>
-
<!-- 配置Spring上下文监听器 -->
-
<listener>
-
<listener-
class>org.springframework.web.context.ContextLoaderListener</listener-class>
-
</listener>
-
<!-- Spring -->
-
-
<!-- 配置Spring字符编码过滤器 -->
-
<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>
-
-
<!-- 配置log4j配置文件路径 -->
-
<context-param>
-
<param-name>log4jConfigLocation</param-name>
-
<param-value>classpath:log4j.properties</param-value>
-
</context-param>
-
<!-- 60s 检测日志配置 文件变化 -->
-
<context-param>
-
<param-name>log4jRefreshInterval</param-name>
-
<param-value>60000</param-value>
-
</context-param>
-
-
<!-- 配置Log4j监听器 -->
-
<listener>
-
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
-
</listener>
-
-
<!-- Spring MVC 核心控制器 DispatcherServlet 配置 -->
-
<servlet>
-
<servlet-name>dispatcher</servlet-name>
-
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
-
<init-param>
-
<param-name>contextConfigLocation</param-name>
-
<param-value>classpath*:spring-mvc.xml</param-value>
-
</init-param>
-
<load-on-startup>1</load-on-startup>
-
</servlet>
-
<servlet-mapping>
-
<servlet-name>dispatcher</servlet-name>
-
<!-- 拦截所有/rest/* 的请求,交给DispatcherServlet处理,性能最好 -->
-
<url-pattern>*.do</url-pattern>
-
</servlet-mapping>
-
-
<!-- 首页 -->
-
<welcome-file-list>
-
<welcome-file>index</welcome-file>
-
</welcome-file-list>
-
-
</web-app>
-
spring-mvc.xml
-
<?xml version=
"1.0" encoding=
"UTF-8"?>
-
<beans xmlns=
"http://www.springframework.org/schema/beans"
-
xmlns:aop=
"http://www.springframework.org/schema/aop"
-
xmlns:context=
"http://www.springframework.org/schema/context"
-
xmlns:mvc=
"http://www.springframework.org/schema/mvc"
-
xmlns:tx=
"http://www.springframework.org/schema/tx"
-
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
-
xmlns:p=
"http://www.springframework.org/schema/p"
-
xsi:schemaLocation=
"http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
-
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/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
-
-
<!-- 扫描controller(controller层注入) -->
-
<context:component-scan base-
package=
"com.project"/>
-
-
<!-- 支持返回json(避免IE在ajax请求时,返回json出现下载 ) -->
-
<bean id=
"mappingJacksonHttpMessageConverter"
-
class=
"org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
-
<property name=
"supportedMediaTypes">
-
<list>
-
<value>text/plain;charset=UTF-
8</value>
-
<value>application/json;charset=UTF-
8</value>
-
</list>
-
</property>
-
</bean>
-
<!-- 支持返回json -->
-
-
<!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 -->
-
<bean
class=
"org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
-
<property name=
"messageConverters">
-
<list>
-
<ref bean=
"mappingJacksonHttpMessageConverter"/>
-
</list>
-
</property>
-
</bean>
-
-
<!-- 对模型视图添加前后缀 -->
-
<bean id=
"viewResolver"
class=
"org.springframework.web.servlet.view.InternalResourceViewResolver"
-
p:prefix=
"/WEB-INF/views/" p:suffix=
".jsp"/>
-
-
<!-- 配置springMVC处理上传文件的信息 -->
-
<bean id=
"multipartResolver"
class=
"org.springframework.web.multipart.commons.CommonsMultipartResolver">
-
<property name=
"defaultEncoding" value=
"utf-8"/>
-
<property name=
"maxUploadSize" value=
"10485760000"/>
-
<property name=
"maxInMemorySize" value=
"40960"/>
-
</bean>
-
-
</beans>
applicationContext.xml
-
<?xml version=
"1.0" encoding=
"UTF-8"?>
-
<beans xmlns=
"http://www.springframework.org/schema/beans" xmlns:context=
"http://www.springframework.org/schema/context"
-
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance" xmlns:aop=
"http://www.springframework.org/schema/aop"
-
xmlns:tx=
"http://www.springframework.org/schema/tx" xmlns:p=
"http://www.springframework.org/schema/p"
-
xmlns:util=
"http://www.springframework.org/schema/util" xmlns:jdbc=
"http://www.springframework.org/schema/jdbc"
-
xmlns:cache=
"http://www.springframework.org/schema/cache" xmlns:task=
"http://www.springframework.org/schema/task"
-
xsi:schemaLocation=
"
-
http://www.springframework.org/schema/context
-
http://www.springframework.org/schema/context/spring-context.xsd
-
http://www.springframework.org/schema/beans
-
http://www.springframework.org/schema/beans/spring-beans.xsd
-
http://www.springframework.org/schema/tx
-
http://www.springframework.org/schema/tx/spring-tx.xsd
-
http://www.springframework.org/schema/jdbc
-
http://www.springframework.org/schema/jdbc/spring-jdbc.xsd
-
http://www.springframework.org/schema/cache
-
http://www.springframework.org/schema/cache/spring-cache.xsd
-
http://www.springframework.org/schema/aop
-
http://www.springframework.org/schema/aop/spring-aop.xsd
-
http://www.springframework.org/schema/util
-
http://www.springframework.org/schema/util/spring-util.xsd
-
http://www.springframework.org/schema/task
-
http://www.springframework.org/schema/task/spring-task-4.0.xsd">
-
-
<!-- 自动扫描带有注解的类 纳入spring容器管理 -->
-
<context:component-scan base-
package=
"com.project"></context:component-scan>
-
-
<!-- 读取参数配置 -->
-
<bean id=
"propertyConfigurer"
class=
"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
-
<property name=
"locations">
-
<list>
-
<value>/WEB-INF/classes/jdbc.properties</value>
-
</list>
-
</property>
-
</bean>
-
<!-- dataSource 配置 -->
-
<bean id=
"dataSource"
class=
"com.alibaba.druid.pool.DruidDataSource"
-
init-method=
"init" destroy-method=
"close">
-
<!-- 基本属性 url、user、password -->
-
<property name=
"url" value=
"${jdbc.url}" />
-
<property name=
"username" value=
"${jdbc.username}" />
-
<property name=
"password" value=
"${jdbc.password}" />
-
<!-- 配置初始化大小、最小、最大 -->
-
<property name=
"initialSize" value=
"${ds.initialSize}" />
-
<property name=
"minIdle" value=
"${ds.minIdle}" />
-
<property name=
"maxActive" value=
"${ds.maxActive}" />
-
<!-- 配置获取连接等待超时的时间 -->
-
<property name=
"maxWait" value=
"${ds.maxWait}" />
-
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
-
<property name=
"timeBetweenEvictionRunsMillis" value=
"${ds.timeBetweenEvictionRunsMillis}" />
-
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
-
<property name=
"minEvictableIdleTimeMillis" value=
"${ds.minEvictableIdleTimeMillis}" />
-
<property name=
"validationQuery" value=
"SELECT 'x'" />
-
<property name=
"testWhileIdle" value=
"true" />
-
<property name=
"testOnBorrow" value=
"false" />
-
<property name=
"testOnReturn" value=
"false" />
-
<!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
-
<property name=
"poolPreparedStatements" value=
"false" />
-
<property name=
"maxPoolPreparedStatementPerConnectionSize"
-
value=
"20" />
-
<!-- 配置监控统计拦截的filters -->
-
<property name=
"filters" value=
"stat" />
-
</bean>
-
-
<!-- mybatis文件配置,扫描所有mapper文件 -->
-
<bean id=
"sqlSessionFactory"
class=
"org.mybatis.spring.SqlSessionFactoryBean" p:dataSource-ref=
"dataSource"
-
p:configLocation=
"classpath:mybatis-config.xml"
-
p:mapperLocations=
"classpath:com/project/dao/mapping/*.xml"/>
-
-
<!-- spring与mybatis整合配置,扫描所有dao -->
-
<bean
class=
"org.mybatis.spring.mapper.MapperScannerConfigurer" p:basePackage=
"com.project.dao"
-
p:sqlSessionFactoryBeanName=
"sqlSessionFactory"/>
-
-
<!-- 对dataSource 数据源进行事务管理 -->
-
<bean id=
"transactionManager"
class=
"org.springframework.jdbc.datasource.DataSourceTransactionManager"
-
p:dataSource-ref=
"dataSource"/>
-
-
<!-- 事务管理 通知 -->
-
<tx:advice id=
"txAdvice" transaction-manager=
"transactionManager">
-
<tx:attributes>
-
<!-- 对insert,update,delete 开头的方法进行事务管理,只要有异常就回滚 -->
-
<tx:method name=
"insert*" propagation=
"REQUIRED" rollback-
for=
"java.lang.Throwable"/>
-
<tx:method name=
"update*" propagation=
"REQUIRED" rollback-
for=
"java.lang.Throwable"/>
-
<tx:method name=
"delete*" propagation=
"REQUIRED" rollback-
for=
"java.lang.Throwable"/>
-
<!-- select,count开头的方法,开启只读,提高数据库访问性能 -->
-
<tx:method name=
"select*" read-only=
"true"/>
-
<tx:method name=
"count*" read-only=
"true"/>
-
<!-- 对其他方法 使用默认的事务管理 -->
-
<tx:method name=
"*"/>
-
</tx:attributes>
-
</tx:advice>
-
-
<!-- 事务 aop 配置 -->
-
<aop:config>
-
<aop:pointcut id=
"serviceMethods" expression=
"execution(* com.project.service..*(..))"/>
-
<aop:advisor advice-ref=
"txAdvice" pointcut-ref=
"serviceMethods"/>
-
</aop:config>
-
-
<!-- 启用对事务注解的支持 -->
-
<tx:annotation-driven transaction-manager=
"transactionManager"/>
-
-
</beans>
mybatis-config.xml
-
<?xml version=
"1.0" encoding=
"UTF-8" ?>
-
<!DOCTYPE configuration
-
PUBLIC
"-//mybatis.org//DTD Config 3.0//EN"
-
"http://mybatis.org/dtd/mybatis-3-config.dtd">
-
<configuration>
-
-
<typeAliases>
-
<
package name=
"com.project.model"/>
-
</typeAliases>
-
-
</configuration>
jdbc.properties
-
##\u5168\u5C40\u8BBE\u7F6EJDBC Global Setting
-
jdbc.driver=com.mysql.jdbc.Driver
-
jdbc.url=jdbc:mysql:
//localhost:3306/project?useUnicode=true&characterEncoding=utf-8
-
jdbc.username=root
-
jdbc.password=
-
-
#\u914D\u7F6E\u521D\u59CB\u5316\u5927\u5C0F\u3001\u6700\u5C0F\u3001\u6700\u5927
-
ds.initialSize=
1
-
ds.minIdle=
1
-
ds.maxIdle=
1000
-
ds.maxActive=
20
-
#\u914D\u7F6E\u83B7\u53D6\u8FDE\u63A5\u7B49\u5F85\u8D85\u65F6\u7684\u65F6\u95F4
-
ds.maxWait=
60000
-
#\u914D\u7F6E\u95F4\u9694\u591A\u4E45\u624D\u8FDB\u884C\u4E00\u6B21\u68C0\u6D4B\uFF0C\u68C0\u6D4B\u9700\u8981\u5173\u95ED\u7684\u7A7A\u95F2\u8FDE\u63A5\uFF0C\u5355\u4F4D\u662F\u6BEB\u79D2
-
ds.timeBetweenEvictionRunsMillis=
60000
-
#\u914D\u7F6E\u4E00\u4E2A\u8FDE\u63A5\u5728\u6C60\u4E2D\u6700\u5C0F\u751F\u5B58\u7684\u65F6\u95F4\uFF0C\u5355\u4F4D\u662F\u6BEB\u79D2
-
ds.minEvictableIdleTimeMillis=
300000
log4j.properties
-
# DEBUG,INFO,WARN,ERROR,FATAL
-
LOG_LEVEL=DEBUG
-
log4j.rootLogger=${LOG_LEVEL},CONSOLE,FILE
-
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-
log4j.appender.CONSOLE.Encoding=UTF-
8
-
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-
#log4j.appender.CONSOLE.layout.ConversionPattern=[%-
5p] %d{yyyy-MM-dd HH:mm:ss} %C{
8}@(%F:%L):%m%n
-
log4j.appender.CONSOLE.layout.ConversionPattern=[%-
5p] %d{yyyy-MM-dd HH:mm:ss} %C{
1}@(%F:%L):%m%n
-
-
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
-
log4j.appender.FILE.File=${catalina.base}/logs/project.log
-
log4j.appender.FILE.Encoding=UTF-
8
-
log4j.appender.FILE.DatePattern=
'.'yyyy-MM-dd
-
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
-
#log4j.appender.FILE.layout=org.apache.log4j.HTMLLayout
-
log4j.appender.FILE.layout.ConversionPattern=[%-
5p] %d{yyyy-MM-dd HH\:mm\:ss} %C{
8}@(%F\:%L)\:%m%n
pom.xml
-
<project xmlns=
"http://maven.apache.org/POM/4.0.0" xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
-
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
<modelVersion>
4.0.0</modelVersion>
-
<groupId>com</groupId>
-
<artifactId>project</artifactId>
-
<packaging>war</packaging>
-
<version>
0.0.1-SNAPSHOT</version>
-
<name>project Maven Webapp</name>
-
<url>http:
//maven.apache.org</url>
-
<properties>
-
<!-- base setting -->
-
<project.build.sourceEncoding>UTF-
8</project.build.sourceEncoding>
-
<project.build.locales>zh_CN</project.build.locales>
-
<project.build.jdk>
1.7</project.build.jdk>
-
<!-- spring版本号 -->
-
<spring.version>
4.0.2.RELEASE</spring.version>
-
<!-- mybatis版本号 -->
-
<mybatis.version>
3.2.6</mybatis.version>
-
<!-- log4j日志文件管理包版本 -->
-
<slf4j.version>
1.7.7</slf4j.version>
-
<log4j.version>
1.2.17</log4j.version>
-
</properties>
-
<dependencies>
-
<dependency>
-
<groupId>junit</groupId>
-
<artifactId>junit</artifactId>
-
<version>
4.11</version>
-
<!-- 表示开发的时候引入,发布的时候不会加载此包 -->
-
<scope>test</scope>
-
</dependency>
-
<!-- Spring包 -->
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-core</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-web</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-oxm</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-tx</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-jdbc</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-webmvc</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-aop</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-context-support</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-test</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
<!-- mybatis核心包 -->
-
<dependency>
-
<groupId>org.mybatis</groupId>
-
<artifactId>mybatis</artifactId>
-
<version>${mybatis.version}</version>
-
</dependency>
-
<!-- mybatis/spring包 -->
-
<dependency>
-
<groupId>org.mybatis</groupId>
-
<artifactId>mybatis-spring</artifactId>
-
<version>
1.2.2</version>
-
</dependency>
-
<!-- 导入java ee jar 包 -->
-
<dependency>
-
<groupId>javax</groupId>
-
<artifactId>javaee-api</artifactId>
-
<version>
7.0</version>
-
</dependency>
-
<dependency>
-
<groupId>com.alibaba</groupId>
-
<artifactId>druid</artifactId>
-
<version>
1.0.31</version>
-
</dependency>
-
<!-- 导入Mysql数据库链接jar包 -->
-
<dependency>
-
<groupId>mysql</groupId>
-
<artifactId>mysql-connector-java</artifactId>
-
<version>
5.1.30</version>
-
</dependency>
-
<!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->
-
<dependency>
-
<groupId>commons-dbcp</groupId>
-
<artifactId>commons-dbcp</artifactId>
-
<version>
1.2.2</version>
-
</dependency>
-
<!-- JSTL标签类 -->
-
<dependency>
-
<groupId>jstl</groupId>
-
<artifactId>jstl</artifactId>
-
<version>
1.2</version>
-
</dependency>
-
<!-- 日志文件管理包 -->
-
<!-- log start -->
-
<dependency>
-
<groupId>log4j</groupId>
-
<artifactId>log4j</artifactId>
-
<version>${log4j.version}</version>
-
</dependency>
-
-
-
<!-- 格式化对象,方便输出日志 -->
-
<dependency>
-
<groupId>com.alibaba</groupId>
-
<artifactId>fastjson</artifactId>
-
<version>
1.1.41</version>
-
</dependency>
-
-
-
<dependency>
-
<groupId>org.slf4j</groupId>
-
<artifactId>slf4j-api</artifactId>
-
<version>${slf4j.version}</version>
-
</dependency>
-
-
<dependency>
-
<groupId>org.slf4j</groupId>
-
<artifactId>slf4j-log4j12</artifactId>
-
<version>${slf4j.version}</version>
-
</dependency>
-
<!-- log end -->
-
<!-- 映入JSON -->
-
<dependency>
-
<groupId>org.codehaus.jackson</groupId>
-
<artifactId>jackson-mapper-asl</artifactId>
-
<version>
1.9.13</version>
-
</dependency>
-
<!-- 上传组件包 -->
-
<dependency>
-
<groupId>commons-fileupload</groupId>
-
<artifactId>commons-fileupload</artifactId>
-
<version>
1.3.1</version>
-
</dependency>
-
<dependency>
-
<groupId>commons-io</groupId>
-
<artifactId>commons-io</artifactId>
-
<version>
2.4</version>
-
</dependency>
-
<dependency>
-
<groupId>commons-codec</groupId>
-
<artifactId>commons-codec</artifactId>
-
<version>
1.9</version>
-
</dependency>
-
<dependency>
-
<groupId>org.aspectj</groupId>
-
<artifactId>aspectjweaver</artifactId>
-
<version>
1.7.3</version>
-
</dependency>
-
</dependencies>
-
<build>
-
<finalName>project</finalName>
-
</build>
-
</project>