32123
2016-03-30 23:36
337 查看
<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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>SpringMavenStudy</groupId> <artifactId>SpringMavenStudy</artifactId> <name>SpringMavenStudy</name> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <properties> <!-- jdk版本号 --> <jdk.version>1.7</jdk.version> <!-- spring版本号 --> <!-- <spring.version>4.2.5.RELEASE</spring.version> --> <spring.version>3.2.16.RELEASE</spring.version> <!-- mybatis版本号 --> <mybatis.version>3.2.4</mybatis.version> <!-- log4j日志文件管理包版本 --> <slf4j.version>1.7.12</slf4j.version> <log4j.version>1.2.17</log4j.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <!-- 表示开发的时候引入,发布的时候不会加载此包 --> <scope>test</scope> </dependency> <!-- 支持servlet的jar包 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <!-- spring jar --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</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-tx</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-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <!-- <dependency> --> <!-- <groupId>aopalliance</groupId> --> <!-- <artifactId>aopalliance</artifactId> --> <!-- <version>1.0</version> --> <!-- </dependency> --> <!-- <dependency> --> <!-- <groupId>org.springframework</groupId> --> <!-- <artifactId>spring-expression</artifactId> --> <!-- <version>${spring.version}</version> --> <!-- </dependency> --> <!-- spring-remoting包含支持EJB、JMS、远程调用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的类 --> <!-- <dependency> --> <!-- <groupId>org.springframework</groupId> --> <!-- <artifactId>spring-remoting</artifactId> --> <!-- <version>${spring.version}</version> --> <!-- </dependency> --> <!-- spring-support包含支持缓存Cache(ehcache)、JCA、JMX、邮件服务(Java Mail、COS Mail)、任务计划Scheduling(Timer、Quartz)方面的类 --> <!-- <dependency> --> <!-- <groupId>org.springframework</groupId> --> <!-- <artifactId>spring-support</artifactId> --> <!-- <version>${spring.version}</version> --> <!-- </dependency> --> <!-- spring mvc jar --> <!-- 包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <!-- webmvc包含国际化、标签、Theme、视图展现FreeMarker、JasperReports、Tiles、Velocity、 XSLT相关类 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <!-- mybatis核心包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> <!-- <type>jar</type> --> <!-- <scope>compile</scope> --> </dependency> <!-- mybatis spring 插件 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> <!-- <type>jar</type> --> <!-- <scope>compile</scope> --> </dependency> <!-- json转换 ,springmvc 返回json格式必须加入 --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version> </dependency> <!-- 集成redis --> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.6.4.RELEASE</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.8.1</version> </dependency> <!-- freemarker --> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency> <!-- excel报表文件处理 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version> </dependency> <!-- 支持xlsx格式的excel --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.9</version> </dependency> <!-- BeanUtils主要提供对JavaBean进行各种操作,提供对Java反射和自省API的包装,Spring的AOP用到 --> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.9.2</version> </dependency> <!-- Digester基于规则的XML文档解析,主要用于XML到Java对象的映射. --> <dependency> <groupId>commons-digester</groupId> <artifactId>commons-digester</artifactId> <version>2.0</version> </dependency> <!-- AspectJ使用Java的注解,将切面AOP声明为普通的Java类 --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.6.9</version> </dependency> <!-- aspectjweaver用于在Spring中集成AspectJ LTW织入器 --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.6.9</version> </dependency> <!-- cglib代理 实现AOP的一种方式 ,和它对应的是DynaProxy(java动态代理) --> <dependency> <groupId>cglib</groupId> <artifactId>cglib-nodep</artifactId> <version>2.2</version> </dependency> <!-- 导入java ee jar 包 --> <!-- <dependency> --> <!-- <groupId>javax</groupId> --> <!-- <artifactId>javaee-api</artifactId> --> <!-- <version>7.0</version> --> <!-- </dependency> --> <!--sqlserver驱动包 --> <!-- <dependency> --> <!-- <groupId>com.microsoft.sqlserver</groupId> --> <!-- <artifactId>sqljdbc4</artifactId> --> <!-- <version>3.0</version> --> <!-- </dependency> --> <!-- 导入Mysql数据库驱动jar包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.28</version> <!-- <type>jar</type> <scope>compile</scope> --> </dependency> <!-- 导入sqlite数据库驱动jar包 --> <!-- <dependency> --> <!-- <groupId>org.xerial</groupId> --> <!-- <artifactId>sqlite-jdbc</artifactId> --> <!-- <version>3.8.11.2</version> --> <!-- </dependency> --> <!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 --> <!-- <dependency> --> <!-- <groupId>commons-dbcp</groupId> --> <!-- <artifactId>commons-dbcp</artifactId> --> <!-- <version>1.4</version> --> <!-- </dependency> --> <dependency> <groupId>commons-pool</groupId> <artifactId>commons-pool</artifactId> <version>1.6</version> </dependency> <!-- 导入c3p0的jar包,数据库连接池 --> <!-- <dependency> --> <!-- <groupId>com.mchange</groupId> --> <!-- <artifactId>c3p0</artifactId> --> <!-- <version>0.9.5.2</version> --> <!-- </dependency> --> <!-- Tomcat jdbc 数据库连接池 --> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jdbc</artifactId> <version>8.0.32</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> <version>2.4.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>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</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 --> <dependency> <groupId>commons-configuration</groupId> <artifactId>commons-configuration</artifactId> <version>1.6</version> </dependency> <!-- commons-lang包含了一些数据类型工具类,是java.lang.*的扩展,必须使用的jar包。 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.3.2</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> <!-- commons-httpclient是一个遗留版本,现在官方已经不推荐使用了。https站点中需要加载SSLContext的类。httpclient是官方现在还在开发的,还在维护的,功能也比较强大的组件,提供更好的性能和更大的灵活性。 --> <!-- <dependency> --> <!-- <groupId>commons-httpclient</groupId> --> <!-- <artifactId>commons-httpclient</artifactId> --> <!-- <version>3.1</version> --> <!-- </dependency> --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version> </dependency> <!-- 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>3.6.0</version> </dependency> <!-- 定时调度 --> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> </dependencies> <!-- 配置文件 --> <profiles> <profile> <id>dev</id> <properties> <package.environment>dev</package.environment> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> <build> <resources> <resource> <directory>src/main/config</directory> </resource> </resources> </build> </profile> <!-- <profile> --> <!-- <id>test</id> --> <!-- <properties> --> <!-- <package.environment>test</package.environment> --> <!-- </properties> --> <!-- <build> --> <!-- <resources> --> <!-- <resource> --> <!-- <directory>src/main/testConfig</directory> --> <!-- </resource> --> <!-- </resources> --> <!-- </build> --> <!-- </profile> --> </profiles> <!-- 打包部署 --> <build> <finalName>SpringMavenStudy</finalName> <resources> <resource> <directory>src/main</directory> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>${jdk.version}</source> <target>${jdk.version}</target> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <version>1.1</version> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> </configuration> </plugin> </plugins> </build> <repositories> <repository> <id>nexus</id> <name>nexus</name> <url>http://maven.oschina.net/content/groups/public</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>nexus</name> <url>http://maven.oschina.net/content/groups/public</url> </pluginRepository> </pluginRepositories> </project>
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" 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_2_5.xsd"> <display-name>WebTest</display-name> <!-- 设置由Sprng载入的Log4j配置文件位置 --> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:config/log4j.properties</param-value> </context-param> <!-- Spring刷新Log4j配置文件变动的间隔,单位为毫秒 --> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>100000</param-value> </context-param> <!-- Spring 配置文件路径,此处可将Spring MVC的相关配置内容配置到Spring的配置文件applicationContext.xml中,共享同一个配置文件即可 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:config/applicationContext.xml</param-value> </context-param> <!-- Spring 监听器 配置 --> <!-- <listener> --> <!-- <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> --> <!-- </listener> --> <!-- <listener> --> <!-- <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> --> <!-- </listener> --> <!--spring 环境准备 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- <listener> --> <!-- <listener-class>org.springframework.web.util.WebAppRootListener</listener-class> --> <!-- </listener> --> <!-- <listener> --> <!-- <listener-class>com.pingan.haofang.service.cache.CacheListener</listener-class> --> <!-- </listener> --> <!-- 字符集 过滤器 --> <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> <!-- tomcat关闭前先关闭quartz --> <!-- <listener> --> <!-- <listener-class>com.pingan.haofang.web.listener.ShutdownQuartzListener</listener-class> --> <!-- </listener> --> <!-- Spring view分发器 --> <!-- Spring mvc 配置,配置文件名称默认为{servlet-name}-servlet.xml,路径默认在/WEB-INF/下 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:config/springmvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- <servlet-mapping> --> <!-- <servlet-name>dispatcher</servlet-name> --> <!-- <url-pattern>*.xls</url-pattern> --> <!-- </servlet-mapping> --> <!-- 配置session超时时间,单位分钟 --> <session-config> <session-timeout>15</session-timeout> </session-config> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> <error-page> <error-code>400</error-code> <location>/error/400.jsp</location> </error-page> <error-page> <error-code>403</error-code> <location>/error/403.jsp</location> </error-page> <error-page> <error-code>404</error-code> <location>/error/404.jsp</location> </error-page> <error-page> <error-code>405</error-code> <location>/error/405.jsp</location> </error-page> <error-page> <error-code>406</error-code> <location>/error/406.jsp</location> </error-page> <error-page> <error-code>412</error-code> <location>/error/412.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/error/500.jsp</location> </error-page> <error-page> <error-code>501</error-code> <location>/error/501.jsp</location> </error-page> <error-page> <error-code>502</error-code> <location>/error/502.jsp</location> </error-page> <error-page> <error-code>503</error-code> <location>/error/503.jsp</location> </error-page> </web-app>
<?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:p="http://www.springframework.org/schema/p" 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" xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> <!-- 对所有类进行扫描,以完成Bean创建和自动依赖注入的功能 --> <context:component-scan base-package="com.test.*" /> <!-- 启动基于Spring MVC的注解功能,激活@Controller,将控制器与方法映射加入到容器中 --> <mvc:annotation-driven /> <mvc:view-controller path="/" view-name="forward:/index" /> <!--避免IE执行AJAX时,返回JSON出现下载文件 --> <!-- <bean id="mappingJacksonHttpMessageConverter" --> <!-- class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> --> <!-- <property name="supportedMediaTypes"> --> <!-- <list> --> <!-- <value>text/html;charset=UTF-8</value> --> <!-- </list> --> <!-- </property> --> <!-- </bean> --> <!-- 定义跳转的文件的前后缀 ,视图模式配置 --> <!-- HandlerMapping --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" /> <!-- HandlerAdapter --> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" /> <!-- 配置试图解析器 --> <!-- <bean id="viewResolver" --> <!-- class="org.springframework.web.servlet.view.InternalResourceViewResolver"> --> <!-- <property name="prefix" value="/WEB-INF/views/" /> --> <!-- <property name="suffix" value=".jsp" /> --> <!-- </bean> --> <bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <!-- 模板后缀,指定html页面为模板 --> <property name="prefix" value="/WEB-INF/views/*" /> <property name="suffix" value=".ftl" /> <property name="order" value="0" /> <property name="cache" value="true" /> <!-- 使用这个模板类来解析视图 --> <!-- <property name="viewClass" value="com.pingan.haofang.util.CommonFreeMarkerView" /> --> <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" /> <property name="exposeSpringMacroHelpers" value="true" /> <!-- 允许访问请求属性,默认为false --> <property name="exposeRequestAttributes" value="true" /> <!-- 允许访问会话属性,默认为false --> <property name="exposeSessionAttributes" value="true" /> <!-- 页面上下文,类似于request.contextPath --> <property name="requestContextAttribute" value="rc" /> <!-- 模板输出内容编码,此处应与defaultEncoding保持一致 --> <property name="contentType" value="text/html;charset=UTF-8"></property> </bean> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <!-- 模板文件所在目录 --> <property name="templateLoaderPath" value="/WEB-INF/views/*" /> <!-- FreeMarker环境属性配置 --> <property name="freemarkerSettings"> <props> <prop key="template_update_delay">5</prop><!--刷新模板的周期,单位为秒,每隔30秒检查模板是否更新,单位为秒如果不经常更新模板可将更新的延迟时间设定长一点 --> <prop key="default_encoding">UTF-8</prop><!--指定FreeMarker模板文件的编码格式 --> <prop key="locale">UTF-8</prop><!-- 本地化设置,指定地区语言环境,我们的语言是中文 --> <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop> <prop key="date_format">yyyy-MM-dd</prop> <prop key="time_format">HH:mm:ss</prop> <prop key="number_format">#.##########</prop> <prop key="boolean_format">true,false</prop> <prop key="whitespace_stripping">true</prop> <prop key="tag_syntax">auto_detect</prop> <prop key="url_escaping_charset">UTF-8</prop> <prop key="classic_compatible">true</prop> <prop key="template_exception_handler">ignore</prop> </props> </property> </bean> <!-- 对某些静态资源,如css,js,图片等进行过滤 ,有引用 "/resources/**" 的路径引用转到工程的/resources/目录取资源,cache-period启用浏览器缓存,上传的图片缓存1个月,其他js,css,img资源缓存一年 --> <mvc:resources mapping="/resources/**" location="/resources/" cache-period="31536000" /> <!-- 文件上传解析器 id 必须为multipartResolver,SpringMVC在超出上传文件限制时, 会抛出org.springframework.web.multipart.MaxUploadSizeExceededException, 该异常是SpringMVC在检查上传的文件信息时抛出来的,而且此时还没有进入到Controller方法中, 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 --> <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> <!-- <mvc:interceptors> --> <!-- <mvc:interceptor> --> <!-- <mvc:mapping path="/**"></mvc:mapping> --> <!-- <mvc:exclude-mapping path="/user/*" /> --> <!-- <bean class="com.pingan.haofang.web.interceptor.PermissionInterceptor" /> --> <!-- </mvc:interceptor> --> <!-- </mvc:interceptors> --> <!-- <bean id="viewResolverExcel" --> <!-- class="org.springframework.web.servlet.view.ResourceBundleViewResolver"> --> <!-- <property name="order" value="1" /> --> <!-- <property name="basename" value="views" /> --> <!-- </bean> --> <!-- HttpMessageConverter用于将对象输出到客户端 --> <bean id="jsonmessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> </bean> <!-- 全局异常处理器 --> <!-- <bean id="handlerExceptionResolver" --> <!-- class="com.pingan.haofang.process.exception.ExceptionResolverCustom"> --> <!-- <property name="jsonmessageConverter" ref="jsonmessageConverter" /> --> <!-- </bean> --> <!--定义异常处理页面 --> <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <prop key="java.sql.SQLException">exception</prop> <prop key="java.io.IOException">exception</prop> <prop key="java.lang.IOException">exception</prop> <prop key="java.lang.NullPointerException">exception</prop> </props> </property> </bean> </beans>
<?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:mvc="http://www.springframework.org/schema/mvc" xmlns:task="http://www.springframework.org/schema/task" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd"> <description>Spring-web MVC配置</description> <!-- 引入配置文件 --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath*:config/jdbc.properties</value> <!-- <value>classpath*:config/redis.properties</value> --> <value>classpath*:config/quartz.properties</value> <value>classpath*:config/log4j.properties</value> </list> </property> <property name="ignoreUnresolvablePlaceholders" value="true" /> </bean> <!-- <bean class="com.pingan.haofang.util.WebAppContextUtil" /> --> <!-- <import resource="classpath*:config/spring-applicationContext-quartz.xml" /> --> <!-- redis --> <!-- <import resource="classpath*:config/spring-redis.xml" /> --> <!--创建jdbc数据源 --> <!-- tomcat jdbc pool +sqlite数据库连接池 --> <bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <property name="maxIdle" value="${jdbc.maxIdle}" /> <property name="minIdle" value="${jdbc.minIdle}" /> <property name="maxActive" value="${jdbc.maxActive}" /> <property name="maxWait" value="${jdbc.maxWait}" /> <property name="initialSize" value="10" /> <property name="removeAbandoned" value="${jdbc.removeAbandoned}" /> <property name="removeAbandonedTimeout" value="${jdbc.removeAbandonedTimeout}" /> <property name="validationQuery" value="select 1" /> <property name="validationInterval" value="30000" /> <property name="defaultAutoCommit" value="true" /> <property name="testWhileIdle" value="true" /> <property name="timeBetweenEvictionRunsMillis" value="1200000" /> <property name="minEvictableIdleTimeMillis" value="1800000" /> <property name="numTestsPerEvictionRun" value="5" /> </bean> <!-- 创建SqlSessionFactory,并指定数据源 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 自动扫描entity目录 xml文件 --> <!-- <property name="mapperLocations" value="classpath*:com/test/mappers/*.xml"></property> --> <property name="mapperLocations" value="classpath*:com/test/mappers/UsersDao.xml" /> <property name="dataSource" ref="dataSource" /> </bean> <!-- Mapper文件扫描配置工具,Spring会自动扫描basePackage下所有dao接口 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" > <!-- 自动扫描 mybatis的接口 --> <property name="basePackage" value="com.test.dao"></property> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean> <!-- MapperFactoryBean 创建的代理类实现了IUserDAO接口,并且注入到应用程序中,这样不用写实现类 --> <bean class="org.mybatis.spring.mapper.MapperFactoryBean"> <property name="mapperInterface" value="com.test.dao" /> <property name="sqlSessionFactory" ref="sqlSessionFactory" /> </bean> <!-- 配置事务管理 --> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 事务注解驱动,标注@Transactional的类和方法将具有事务性 --> <tx:annotation-driven transaction-manager="txManager" /> </beans>
jdbc.driver=com.mysql.jdbc.Driver #jdbc.driver=org.sqlite.JDBC jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8 #jdbc.url=jdbc:sqlite:D:/test.db jdbc.username=root jdbc.password=root #\u5B9A\u4E49\u521D\u59CB\u8FDE\u63A5\u6570 jdbc.initialSize=1 #\u5B9A\u4E49\u6700\u5927\u8FDE\u63A5\u6570 jdbc.maxActive=20 #\u5B9A\u4E49\u6700\u5927\u7A7A\u95F2 jdbc.maxIdle=20 #\u5B9A\u4E49\u6700\u5C0F\u7A7A\u95F2 jdbc.minIdle=3 #\u5B9A\u4E49\u6700\u957F\u7B49\u5F85\u65F6\u95F4 jdbc.maxWait=60000 #\u81EA\u52A8\u6E05\u9664\u65E0\u7528\u8FDE\u63A5 jdbc.removeAbandoned=true #\u6E05\u9664\u65E0\u7528\u8FDE\u63A5\u7684\u7B49\u5F85\u65F6\u95F4 jdbc.removeAbandonedTimeout=180 #\u8FDE\u63A5\u5C5E\u6027 jdbc.connectionProperties="clientEncoding\=utf-8"
# Redis settings # server IP redis.host=127.0.0.1 # server port redis.port=6379 # server password redis.password=myredis # use dbIndex redis.pool.database=0 # \u63A7\u5236\u4E00\u4E2Apool\u6700\u591A\u6709\u591A\u5C11\u4E2A\u72B6\u6001\u4E3Aidle(\u7A7A\u95F2\u7684)\u7684jedis\u5B9E\u4F8B redis.pool.maxIdle=300 # \u8868\u793A\u5F53borrow(\u5F15\u5165)\u4E00\u4E2Ajedis\u5B9E\u4F8B\u65F6\uFF0C\u6700\u5927\u7684\u7B49\u5F85\u65F6\u95F4\uFF0C\u5982\u679C\u8D85\u8FC7\u7B49\u5F85\u65F6\u95F4(\u6BEB\u79D2)\uFF0C\u5219\u76F4\u63A5\u629B\u51FAJedisConnectionException\uFF1B redis.pool.maxWait=3000 redis.pool.maxTotal=600 # \u5728borrow\u4E00\u4E2Ajedis\u5B9E\u4F8B\u65F6\uFF0C\u662F\u5426\u63D0\u524D\u8FDB\u884Cvalidate\u64CD\u4F5C\uFF1B\u5982\u679C\u4E3Atrue\uFF0C\u5219\u5F97\u5230\u7684jedis\u5B9E\u4F8B\u5747\u662F\u53EF\u7528\u7684 redis.pool.testOnBorrow=true #\u6700\u5927\u5206\u914d\u7684\u5bf9\u8c61\u6570 redis.pool.maxActive=1024 #\u5f53\u8c03\u7528return Object\u65b9\u6cd5\u65f6\uff0c\u662f\u5426\u8fdb\u884c\u6709\u6548\u6027\u68c0\u67e5 redis.pool.testOnReturn=true
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:cache="http://www.springframework.org/schema/cache" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> <!-- 引入配置文件 --> <context:property-placeholder location="classpath*:config/redis.properties" /> <!-- 启用缓存注解功能,这个是必须的,否则注解不会生效,另外,该注解一定要声明在spring主配置文件中才会生效 --> <!-- <cache:annotation-driven cache-manager="cacheManager" /> --> <!-- spring自己的缓存管理器,这里定义了两个缓存位置名称 ,既注解中的value --> <!-- <bean id="redisManager" class="org.springframework.cache.support.SimpleCacheManager"> --> <!-- <property name="caches"> --> <!-- <set> --> <!-- <bean class="org.cpframework.cache.redis.RedisCache"> --> <!-- <property name="redisTemplate" ref="redisTemplate" /> --> <!-- <property name="name" value="default"/> --> <!-- </bean> --> <!-- <bean class="org.cpframework.cache.redis.RedisCache"> --> <!-- <property name="redisTemplate" ref="redisTemplate02" /> --> <!-- <property name="name" value="commonCache"/> --> <!-- </bean> --> <!-- </set> --> <!-- </property> --> <!-- </bean> --> <!-- <bean id="redisCacheManager" class="com.pingan.haofang.service.impl.RedisCacheManger"> --> <!-- <property name="pool" ref="shardedJedisPool" /> --> <!-- </bean> --> <!-- jedis 连接池配置 --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <!-- <property name="maxActive" value="${redis.pool.maxActive}" /> --> <!-- <property name="maxWait" value="${redis.pool.maxWait}" /> --> <property name="maxTotal" value="${redis.pool.maxTotal}" /> <property name="maxIdle" value="${redis.pool.maxIdle}" /> <property name="maxWaitMillis" value="${redis.pool.maxWait}" /> <property name="testOnBorrow" value="${redis.pool.testOnBorrow}" /> </bean> <!-- jedis 多个服务器配置 --> <bean id="jedisShardInfo" class="redis.clients.jedis.JedisShardInfo"> <constructor-arg index="0" value="${redis.host}" /> <constructor-arg index="1" value="${redis.port}" type="int" /> </bean> <bean id="shardedJedisPool" class="redis.clients.jedis.ShardedJedisPool"> <constructor-arg index="0" ref="jedisPoolConfig" /> <constructor-arg index="1"> <list> <ref bean="jedisShardInfo" /> </list> </constructor-arg> </bean> <bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> <property name="hostName" value="${redis.host}" /> <property name="port" value="${redis.port}" /> <property name="password" value="${redis.password}" /> <property name="poolConfig" ref="jedisPoolConfig" /> <property name="shardInfo" ref="shardedJedisPool"></property> </bean> <!-- redis template definition --> <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate" p:connectionFactory-ref="connectionFactory" p:keySerializer-ref="redisTemplateKeySerializer" p:valueSerializer-ref="redisTemplateValueSerializer" p:hashKeySerializer-ref="redisTemplateHashKeySerializer" p:hashValueSerializer-ref="redisTemplateHashValueSerializer"/> <bean id="redisTemplateKeySerializer" class="org.springframework.data.redis.serializer.StringRedisSerializer" /> <bean id="redisTemplateValueSerializer" class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" /> <bean id="redisTemplateHashKeySerializer" class="org.springframework.data.redis.serializer.StringRedisSerializer" /> <bean id="redisTemplateHashValueSerializer" class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" /> </beans>
package com.test.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.test.service.impl.UsersServiceImpl; import org.springframework.web.servlet.ModelAndView; @Controller public class IndexController { @Autowired UsersServiceImpl serv; @RequestMapping(value="/index",method=RequestMethod.GET) public ModelAndView getFirstPage() { ModelAndView mv = new ModelAndView(); mv.setViewName("index.ftl"); mv.addObject("name", "王大锤"); return mv; } }
package com.test.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import com.test.model.Users; import com.test.service.IUsersService; @Controller public class UsersController { @Autowired private IUsersService usersService ; @RequestMapping("/User/helloUser") public String helloUser(ModelMap modelMap) { List<Users> list = this.usersService.findAllUser(1); modelMap.addAttribute("users", list) ; return "/users_list"; } }
package com.test.dao; import java.util.List; import com.test.model.Users; public interface UsersDao { public List<Users> findAllUser(int id); }
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.test.mappers.UsersDaoMapping"> <resultMap type="UsersDao" id="com.test.model.Users" autoMapping="true"> <result property="id" column="id" /> <result property="username" column="account" /> <result property="password" column="passwd" /> </resultMap> <select id="findAllUser" parameterType="int" resultType="UsersDao"> SELECT * FROM Users WHERE id = #{id}; </select> </mapper> /SpringMavenStudy/src/main/java/com/test/mappers/UsersDao.xml
package com.test.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.test.dao.UsersDao; import com.test.model.Users; import com.test.service.IUsersService; @Service("UsersService") public class UsersServiceImpl implements IUsersService{ @Autowired UsersDao userDao; @Override public List<Users> findAllUser(int id) { return userDao.findAllUser(id); } }
<#setting classic_compatible=true> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>User List</title> <style type="text/css"> <!-- .STYLE1 { font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: 36px; color: #FF0000; } .STYLE13 {font-size: 24} .STYLE15 {font-family: Arial, Helvetica, sans-serif; font-size: 24px; } --> </style> </head> <body> <table width="1500" height="600" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="500" height="200"> </td> <td width="500" height="200" align="center" valign="middle"><div align="center"><span class="STYLE1">User List </span></div></td> <td width="500" height="200"> </td> </tr> <tr> <td width="500" height="200"> </td> <td width="500" height="200"><table width="500" height="200" border="1" cellpadding="0" cellspacing="0"> <tr> <td width="160" height="65" align="center" valign="middle"><span class="STYLE15">ID</span></td> <td width="160" height="65" align="center" valign="middle"><span class="STYLE15">Username</span></td> <td width="160" height="65" align="center" valign="middle"><span class="STYLE15">Password</span></td> </tr> <#list users as user> <tr> <td width="160" height="65" align="center" valign="middle"><span class="STYLE15">${user.id}</span></td> <td width="160" height="65" align="center" valign="middle"><span class="STYLE15">${user.username}</span></td> <td width="160" height="65" align="center" valign="middle"><span class="STYLE15">${user.password}</span></td> </tr> </#list> </table></td> <td width="500" height="200"> </td> </tr> <tr> <td width="500" height="200"> </td> <td width="500" height="200"> </td> <td width="500" height="200"> </td> </tr> </table> </body> </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>模板页标题</title> </head> <body> 名字: ${name} </body> </html>
drop DATABASE test; CREATE DATABASE IF NOT EXISTS test DEFAULT CHARSET utf8 COLLATE utf8_general_ci; use test; -- mysql drop table if exists users; create table users -- '用户表' ( id integer primary key auto_increment comment '序号', -- '序号' account varchar(20) not null comment '姓名', -- '姓名' passwd varchar(20) not null comment '密码' -- '密码' )comment ='用户表'; insert into users(account,passwd) values ("张三", "警察"); insert into users(account,passwd) values ("李四", "销售"); insert into users(account,passwd) values ("王武", "工程师"); select * from users; /** -- 修改表的注释 alter table mytest.users comment '修改后的表的注释'; -- 修改字段的注释 alter table mytest.users modify column id int comment '修改后的字段注释'; -- '序号' alter table mytest.users modify column account varchar(20) not null comment '修改后的字段注释'; -- '姓名' alter table mytest.users modify column passwd varchar(20) not null comment '修改后的字段注释'; -- '密码' --注意:字段名和字段类型照写就行 **/
相关文章推荐
- 实现微信好友列表的php代码
- 非对称加密RAS
- Java基础系列9:BigInteger类和BigDecimal类
- cisco 9951型号IP电话注册callmager失败
- eclipse自动补全的设置
- 码农小汪-剑指Offer之4- 在二维数组中查找
- 曾记得
- 从相机或者相册选择图片
- 战五渣前端,面试第一天总结
- Django-rest-framework学习(二)Request与Response
- Linux内核分析——第六周学习笔记
- Tomcat部署多个应用时日志文件路径相同引起的问题
- Dense prediction applications in Deep learning
- ListView实现分页功能
- bzoj1103[POI2007]大都市meg
- Android手机调用笔记本电脑的webservices
- 码农小汪-剑指Offer之3- 矩形覆盖
- 记毕业后第一次面试
- Android 使用SwipeBackLayout实现滑动返回上一级页面——实战来袭
- Android 使用SwipeBackLayout实现滑动返回上一级页面——实战来袭