基于Maven的Spring/SpringMVC/Mybatis/Mybatis-plus/Apache-Shiro基础环境配置

记录一下,以便不时之需。

pom.xml

  1 <properties>
  2         <servlet-api.version>2.5servlet-api.version>
  3         <spring.version>4.2.5.RELEASEspring.version>
  4         <aspectjweaver.version>1.8.9aspectjweaver.version>
  5 
  6         <mybatis.version>3.4.0mybatis.version>
  7         <mybatis.spring.version>1.3.0mybatis.spring.version>
  8 
  9         
 10         <logback-classic.version>1.1.7logback-classic.version>
 11         <logback-ext-spring.version>0.1.4logback-ext-spring.version>
 12         <jcl-over-slf4j.version>1.7.21jcl-over-slf4j.version>
 13 
 14         
 15         <druid.version>1.0.18druid.version>
 16         <mysql-connector-java.version>5.1.38mysql-connector-java.version>
 17 
 18         
 19         <shiro.version>1.2.2shiro.version>
 20 
 21         
 22         <junit.version>4.12junit.version>
 23     properties>
 24 
 25     <dependencies>
 26         <dependency>
 27             <groupId>javax.servletgroupId>
 28             <artifactId>servlet-apiartifactId>
 29             <version>${servlet-api.version}version>
 30             <scope>providedscope>
 31         dependency>
 32         
 33         <dependency>
 34             <groupId>jstlgroupId>
 35             <artifactId>jstlartifactId>
 36             <version>1.2version>
 37         dependency>
 38         <dependency>
 39             <groupId>javax.mailgroupId>
 40             <artifactId>mailartifactId>
 41             <version>1.4.7version>
 42         dependency>
 43 
 44         <dependency>
 45             <groupId>org.aspectjgroupId>
 46             <artifactId>aspectjweaverartifactId>
 47             <version>${aspectjweaver.version}version>
 48         dependency>
 49         <dependency>
 50             <groupId>org.springframeworkgroupId>
 51             <artifactId>spring-coreartifactId>
 52             <version>${spring.version}version>
 53         dependency>
 54 
 55         <dependency>
 56             <groupId>org.springframeworkgroupId>
 57             <artifactId>spring-webartifactId>
 58             <version>${spring.version}version>
 59         dependency>
 60         <dependency>
 61             <groupId>org.springframeworkgroupId>
 62             <artifactId>spring-oxmartifactId>
 63             <version>${spring.version}version>
 64         dependency>
 65         <dependency>
 66             <groupId>org.springframeworkgroupId>
 67             <artifactId>spring-txartifactId>
 68             <version>${spring.version}version>
 69         dependency>
 70 
 71         <dependency>
 72             <groupId>org.springframeworkgroupId>
 73             <artifactId>spring-jdbcartifactId>
 74             <version>${spring.version}version>
 75         dependency>
 76 
 77         <dependency>
 78             <groupId>org.springframeworkgroupId>
 79             <artifactId>spring-webmvcartifactId>
 80             <version>${spring.version}version>
 81         dependency>
 82         <dependency>
 83             <groupId>org.springframeworkgroupId>
 84             <artifactId>spring-aopartifactId>
 85             <version>${spring.version}version>
 86         dependency>
 87 
 88         <dependency>
 89             <groupId>org.springframeworkgroupId>
 90             <artifactId>spring-context-supportartifactId>
 91             <version>${spring.version}version>
 92         dependency>
 93 
 94         <dependency>
 95             <groupId>org.springframeworkgroupId>
 96             <artifactId>spring-testartifactId>
 97             <version>${spring.version}version>
 98         dependency>
 99         <dependency>
100             <groupId>org.mybatisgroupId>
101             <artifactId>mybatisartifactId>
102             <version>${mybatis.version}version>
103         dependency>
104         <dependency>
105             <groupId>org.mybatisgroupId>
106             <artifactId>mybatis-springartifactId>
107             <version>${mybatis.spring.version}version>
108         dependency>
109 
110 
111         
112         <dependency>
113             <groupId>ch.qos.logbackgroupId>
114             <artifactId>logback-classicartifactId>
115             <version>${logback-classic.version}version>
116         dependency>
117         <dependency>
118             <groupId>org.logback-extensionsgroupId>
119             <artifactId>logback-ext-springartifactId>
120             <version>${logback-ext-spring.version}version>
121         dependency>
122         <dependency>
123             <groupId>org.slf4jgroupId>
124             <artifactId>jcl-over-slf4jartifactId>
125             <version>${jcl-over-slf4j.version}version>
126         dependency>
127         
128 
129         
130         <dependency>
131             <groupId>com.alibabagroupId>
132             <artifactId>druidartifactId>
133             <version>${druid.version}version>
134         dependency>
135         <dependency>
136             <groupId>mysqlgroupId>
137             <artifactId>mysql-connector-javaartifactId>
138             <version>${mysql-connector-java.version}version>
139         dependency>
140         
141 
142         
143         <dependency>
144             <groupId>junitgroupId>
145             <artifactId>junitartifactId>
146             <version>${junit.version}version>
147             <scope>testscope>
148         dependency>
149         
150 
151         
152         <dependency>
153             <groupId>com.fasterxml.jackson.coregroupId>
154             <artifactId>jackson-coreartifactId>
155             <version>2.1.0version>
156         dependency>
157         <dependency>
158             <groupId>com.fasterxml.jackson.coregroupId>
159             <artifactId>jackson-databindartifactId>
160             <version>2.1.0version>
161         dependency>
162         <dependency>
163             <groupId>com.fasterxml.jackson.coregroupId>
164             <artifactId>jackson-annotationsartifactId>
165             <version>2.1.0version>
166         dependency>
167         <dependency>
168             <groupId>com.alibabagroupId>
169             <artifactId>fastjsonartifactId>
170             <version>1.2.9version>
171         dependency>
172         
173 
174 
175         
176         <dependency>
177             <groupId>org.apache.shirogroupId>
178             <artifactId>shiro-coreartifactId>
179             <version>1.2.2version>
180         dependency>
181         <dependency>
182             <groupId>org.apache.shirogroupId>
183             <artifactId>shiro-webartifactId>
184             <version>1.2.2version>
185         dependency>
186         <dependency>
187             <groupId>org.apache.shirogroupId>
188             <artifactId>shiro-springartifactId>
189             <version>1.2.2version>
190         dependency>
191         
192         
193         <dependency>
194             <groupId>commons-fileuploadgroupId>
195             <artifactId>commons-fileuploadartifactId>
196             <version>1.2.1version>
197         dependency>
198         <dependency>
199             <groupId>commons-iogroupId>
200             <artifactId>commons-ioartifactId>
201             <version>2.5version>
202         dependency>
203         
204         
205         
206         <dependency>
207             <groupId>org.apache.poigroupId>
208             <artifactId>poi-ooxmlartifactId>
209             <version>3.9version>
210         dependency>
211 
212 
213 
214     dependencies>
215 
216     <profiles>
217         <profile>
218             <id>jdk16id>
219             <activation>
220                 <activeByDefault>trueactiveByDefault>
221                 <jdk>1.6jdk>
222             activation>
223             <properties>
224                 <maven.compiler.source>1.6maven.compiler.source>
225                 <maven.compiler.target>1.6maven.compiler.target>
226                 <maven.compiler.compilerVersion>1.6maven.compiler.compilerVersion>
227                 <maven.compiler.encoding>UTF-8maven.compiler.encoding>
228             properties>
229         profile>
230     profiles>
231 
232     <build>
233         <finalName>gzwlwfinalName>
234         <resources>
235             <resource>
236                 <directory>src/main/javadirectory>
237                 <includes>
238                     <include>**/*.xmlinclude>
239                 includes>
240             resource>
241             <resource>
242                 <directory>src/main/resourcesdirectory>
243             resource>
244         resources>
245         <plugins>
246             <plugin>
247                 <artifactId>maven-compiler-pluginartifactId>
248                 <configuration>
249                     <source>1.6source>
250                     <target>1.6target>
251                     <encoding>UTF-8encoding>
252                 configuration>
253             plugin>
254             
255             <plugin>
256                 <groupId>org.eclipse.jettygroupId>
257                 <artifactId>jetty-maven-pluginartifactId>
258                 <version>9.3.7.v20160115version>
259                 <configuration>
260                     <webApp>
261                         <contextPath>/contextPath>
262                         <descriptor>${basedir}/src/main/webapp/WEB-INF/web.xmldescriptor>
263                     webApp>
264                     <stopKey>exitstopKey>
265                     <stopPort>9091stopPort>
266                     <webAppSourceDirectory>${project.basedir}/src/main/webappwebAppSourceDirectory>
267                     <scanIntervalSeconds>0scanIntervalSeconds>
268                     <httpConnector>
269                         <port>8080port>
270                     httpConnector>
271                 configuration>
272             plugin>
273             
274             <plugin>
275                 <groupId>org.codehaus.mojogroupId>
276                 <artifactId>tomcat-maven-pluginartifactId>
277                 <version>1.1version>
278                 <configuration>
279                     <path>/path>
280                     <port>8080port>
281                     <uriEncoding>UTF-8uriEncoding>
282                     <warFile>${project.build.directory}/${project.build.finalName}.warwarFile>
283                 configuration>
284             plugin>
285         plugins>
286 
287     build>

jdbc.properties

## MySqlConfig
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=root

logback.xml

xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="1000 seconds">
    <timestamp key="date" datePattern="yyyyMMdd" />
    
    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>[%d{yyyy-MM-dd HH:mm:ss} %level %c:%L]\n%msg%n\npattern>

        encoder>
    appender>
    
    <appender name="File"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>./logs/ssm.logFile>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>
                ./logs/ssm.%d{yyyy-MM-dd}.log
            FileNamePattern>
            
            <MaxHistory>10MaxHistory>
        rollingPolicy>
        <encoder>
            <pattern>[%d{yyyy-MM-dd HH:mm:ss} %level %c:%L]\n%msg%n\npattern>

        encoder>
    appender>

    
    <appender name="Database" class="ch.qos.logback.classic.db.DBAppender">
        <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
            <dataSource class="com.alibaba.druid.pool.DruidDataSource">
                <driverClass>com.mysql.jdbc.DriverdriverClass>
                <url>jdbc:mysql://127.0.0.1:3306/testurl>
                <user>rootuser>
                <password>rootpassword>
            dataSource>
        connectionSource>
    appender>
    
    
    <root level="DEBUG">
        <appender-ref ref="Console" />
        
    root>
    <logger name="org.springframework" level="ERROR" />
    
    
    <logger name="org.apache.shiro" level="OFF" />
configuration>

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>
    
    <settings>
        
        <setting name="cacheEnabled" value="true" />
        
        <setting name="lazyLoadingEnabled" value="true" />
        <setting name="multipleResultSetsEnabled" value="true" />
        <setting name="useColumnLabel" value="true" />
        <setting name="defaultExecutorType" value="REUSE" />
        <setting name="defaultStatementTimeout" value="25000" />
    settings>
    
    
configuration>

spring-framework.xml

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:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">

    
    <aop:aspectj-autoproxy proxy-target-class="true" /> 
    
    
    <context:component-scan base-package="com.runnet">
        
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
        
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
    context:component-scan>
beans>

servlet-context.xml

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"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
       http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">
  
    <mvc:annotation-driven />
    
    <context:component-scan base-package="org.jeeweb.controller" />

    
    <mvc:resources mapping="/resources/**" location="/resources/" />
    <mvc:resources mapping="/css/**" location="/css/" />
    <mvc:resources mapping="/images/**" location="/images/" />
    <mvc:resources mapping="/js/**" location="/js/" />

    
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
    bean>
    
    
    <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"  > 
        <property name="messageConverters">
           <list>
              <ref bean="mappingJacksonHttpMessageConverter" />
           list>
        property>
     bean>
    
    <mvc:annotation-driven>
        
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/plain;charset=UTF-8value>
                        <value>text/html;charset=UTF-8value>
                        <value>application/json;charset=UTF-8value>
                    list>
                property>
            bean>
        mvc:message-converters>
    mvc:annotation-driven> 
    
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="maxUploadSize" value="32505856" />
        <property name="maxInMemorySize" value="4096" />
    bean>
beans>

 

app-datasource.xml

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-4.2.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd">

    
    <context:property-placeholder location="classpath:jdbc.properties" ignore-unresolvable="true"/>

    
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
        init-method="init" destroy-method="close">
        <property name="driverClassName" value="${jdbc.driverClassName}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
    bean>

    
    <bean id="sqlSessionFactory" class="org.jeeweb.core.mybatisplus.spring.MybatisSqlSessionFactoryBean">
           <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:mybatis-config.xml" />
        <property name="mapperLocations" value="classpath:org/jeeweb/**/dao/mapper/*Mapper.xml" />
        <property name="plugins">
            <array>
                
                <bean id="paginationInterceptor" class="org.jeeweb.core.mybatisplus.plugins.PaginationInterceptor">
                    <property name="dialectType" value="mysql" />
                bean>
            array>
        property>
    bean>
    
    
    <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="org.jeeweb.dao" />
    bean>

beans>

app-transaction.xml

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-4.2.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd">

    
    <context:component-scan base-package="org.jeeweb.service" />
    
    
    <tx:annotation-driven transaction-manager="transactionManager" />

    
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    bean>
    
    
    <tx:advice id="transactionAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="select*" read-only="true" propagation="REQUIRED" />
            <tx:method name="delete*"  propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="update*" propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception" />
            <tx:method name="*" propagation="REQUIRED" />
        tx:attributes>
    tx:advice>
    
    
    <aop:config>
        <aop:pointcut id="transactionPointcut" expression="execution(* com.runnet.*.service.*.*(..))"/>
        <aop:advisor pointcut-ref="transactionPointcut" advice-ref="transactionAdvice"/>
    aop:config>
beans>

app-shiro.xml

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:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx" 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/tx http://www.springframework.org/schema/tx/spring-tx.xsd  
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd  
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    
    
    <bean id="myRealm" class="org.jeeweb.framework.authority.ShiroDataBaseRealm" />

    
    <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
        <property name="realm" ref="myRealm" />
        
        <property name="cacheManager" ref="cacheManager" />
    bean>

    
    <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
        
        <property name="securityManager" ref="securityManager" />
        
        <property name="loginUrl" value="/targetToLogin.do" />
        
        <property name="successUrl" value="/main.do" />
        
        <property name="unauthorizedUrl" value="/denied.do" />
        
        <property name="filterChainDefinitions">
            <value>
                
                /resources/**=anon
                /login.do=anon
                /targetToLogin.do=anon
                /doLogin.do=anon
                /index.jsp=anon
                
                /** = authc
            value>
        property>
    bean>

    <bean id="cacheManager" class="org.apache.shiro.cache.MemoryConstrainedCacheManager" />
    <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor" />

beans>

web.xml



	
	
		contextConfigLocation
		classpath:spring/spring-framework.xml,classpath:spring/app-*.xml
	

	
	
		logbackConfigLocation
		classpath:logback.xml
	
	
		ch.qos.logback.ext.spring.web.LogbackConfigListener
	

	
	
		org.springframework.web.context.ContextLoaderListener
	
	
		org.springframework.web.context.request.RequestContextListener
	
	
		springServlet
		org.springframework.web.servlet.DispatcherServlet
		
			contextConfigLocation
			classpath:spring/servlet-context.xml
		
		1
	
	
		springServlet
		*.do
	

	
	
		druidStatView
		com.alibaba.druid.support.http.StatViewServlet
	
	
		druidStatView
		/druid/*
	

	
	
		shiroFilter
		org.springframework.web.filter.DelegatingFilterProxy
	
	
		shiroFilter
		/*
	

	
		index.jsp
	

  

转载于:https://www.cnblogs.com/wuwz/p/6022638.html

你可能感兴趣的:(java,json,测试)