Spring+SpringMVC+MyBatis 框架搭建的配置文件以及所需的maven依賴

1、config.properties 配置文件(圖片和代碼都在下面貼出)
在這裏插入圖片描述

jdbc.driver=com.mysql.jdbc.Driver  
jdbc.url=jdbc:mysql://localhost:3306/rps?useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=root

2、spring-mybatis.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:p="http://www.springframework.org/schema/p"    
    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.0.xsd      
                        http://www.springframework.org/schema/context      
                        http://www.springframework.org/schema/context/spring-context-4.0.xsd      
                        http://www.springframework.org/schema/mvc      
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">    
    <!-- 自動掃描 -->    
     <!--<context:component-scan base-package="com.yl" />   -->
    <context:component-scan base-package="com.yl.*">
		<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
	</context:component-scan>  
    <!-- 引入配置文件 -->    
    <bean id="propertyConfigurer"    
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">    
        <property name="locations">
        	<list>
        		<value>classpath:config.properties</value>
        	</list>
        </property>   
    </bean>   
    <!-- 配置數據源 -->   
    <bean id="dataSource"    
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">    
        <property name="driverClassName" value="${jdbc.driver}" />    
        <property name="url" value="${jdbc.url}" />    
        <property name="username" value="${jdbc.username}" />    
        <property name="password" value="${jdbc.password}" />    
    </bean>     
    
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">    
        <property name="dataSource" ref="dataSource" />    
        <!-- 自動掃描mapping.xml文件 -->    
        <property name="mapperLocations" value="classpath:mapping/*.xml"></property>    
    </bean>    
    
    <!-- DAO接口所在包名,Spring會自動查找其下的類 -->    
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">    
        <property name="basePackage" value="com.yl.dao" />
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>    
    </bean>    
    
    <!-- 事務管理 -->    
    <bean id="transactionManager"    
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">    
        <property name="dataSource" ref="dataSource" />    
    </bean>    
    
</beans>

3、spring-mvc.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.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
	<!-- 自動掃描controller包下的所有類,使其認爲spring mvc的控制器
	加載controller的時候,不加載service,因爲此時事物並未生效,若此時加載了service,那麼事物無法對service進行攔截 -->
	<context:component-scan base-package="com.yl.*">
		<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />
	</context:component-scan>
	
	<!-- 開啓mvc註解 -->
	<mvc:annotation-driven />
	
	<!--對靜態資源文件的訪問 -->
	<mvc:default-servlet-handler />
	
	<mvc:interceptors>  
  	 <mvc:interceptor>  
       <mvc:mapping path="/**" />  
       <mvc:exclude-mapping path="/common/**"/>
       <mvc:exclude-mapping path="/css/**"/>
       <mvc:exclude-mapping path="/images/**"/>
       <mvc:exclude-mapping path="/javascript/**"/>
       <mvc:exclude-mapping path="/js/**"/>
       <bean class="com.yl.utils.LoginedInterceptor"/>  
  	 </mvc:interceptor>  
	</mvc:interceptors>
	
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/jsp/"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>
	
	<!-- 支持上傳文件 -->
	<bean id="multipartResolver"
		class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<property name="defaultEncoding" value="utf-8"></property>
		<property name="maxUploadSize" value="10485760000"></property>
		<property name="maxInMemorySize" value="40960"></property>
	</bean>
	</beans>

4、log4j.properties 配置文件(需要日誌的配置,不需要的可以不用配置)
在這裏插入圖片描述

### \u8bbe\u7f6e###
#log4j.rootLogger = stdout,D,E
log4j.rootLogger=INFO,Console,File

log4j.logger.com.yl.dao=DEBUG

#\u5B9A\u4E49\u65E5\u5FD7\u8F93\u51FA\u76EE\u7684\u5730\u4E3A\u63A7\u5236\u53F0
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
#\u53EF\u4EE5\u7075\u6D3B\u7684\u6307\u5B9A\u65E5\u5FD7\u8F93\u51FA\u683C\u5F0F\uFF0C\u4E0B\u9762\u4E00\u884C\u662F\u6307\u5B9A\u5177\u4F53\u7684\u683C\u5F0F
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c]-%m%n

### \u8f93\u51fa\u4fe1\u606f\u5230\u63a7\u5236\u62ac ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### \u8f93\u51faDEBUG \u7ea7\u522b\u4ee5\u4e0a\u7684\u65e5\u5fd7\u5230=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = INFO 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### \u8f93\u51faERROR \u7ea7\u522b\u4ee5\u4e0a\u7684\u65e5\u5fd7\u5230=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =logs/error.log 
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n



5、攔截器類

package com.yl.utils;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

import com.yl.controller.LoginHelper;
import com.yl.entity.User;

public class LoginedInterceptor extends HandlerInterceptorAdapter{

	 /** 
     * Handler執行完成之後調用這個方法 
     */  
    public void afterCompletion(HttpServletRequest request,  
            HttpServletResponse response, Object handler, Exception exc)  
            throws Exception {  
    }  
  
    /** 
     * Handler執行之後,ModelAndView返回之前調用這個方法 
     */  
    public void postHandle(HttpServletRequest request, HttpServletResponse response,  
            Object handler, ModelAndView modelAndView) throws Exception {  
    }  
  
    /** 
     * Handler執行之前調用這個方法 
     */  
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response,  
            Object handler) throws Exception {  
    	//獲取請求的URL  
        String url = request.getRequestURI();  
        /*System.out.println("攔截:+++"+url);*/
        if(url.contains(".css")){
        	return true;
        }
        if(url.contains("common")){
        	return true;
        }
        if(url.contains("ico")){
        	return true;
        }
        if(url.contains(".js")){
        	return true;
        }
        if(url.contains(".png")){
        	return true;
        }
        if(url.contains(".jpg")){
        	return true;
        }
        if(url.contains("login")){
        	return true;
        }
        
        if(url.contains("admin")){
        	
        	//獲取user  
	        User user = (User) request.getSession().getAttribute(LoginHelper.SESS_USERINFO); 
	        if( user != null){  
	            return true;  
	        }
	        
	        if( request.getHeader("x-requested-with") != null && request.getHeader("x-requested-with").equals("XMLHttpRequest")  ) {
	        	response.setHeader("sessionstatus", "timeout"); 
	        } else {
	        	if(url.contains("admin")) {
	        		request.getRequestDispatcher("/jsp/admin/login.jsp").forward(request, response);
	        	}
	        }
        	
        }else{
        	return true; 
        }
        
        return true;  
		
    }  
  
}  

6、maven依賴 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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.yunlian</groupId>
	<artifactId>rps</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>
	<name>ylkj</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<!-- spring版本號 -->
		<spring.version>4.0.2.RELEASE</spring.version>
		<activiti-version>5.18.0</activiti-version>
	</properties>
	
	<dependencies>
		<!-- junit -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
			<scope>test</scope>
		</dependency>

		<!-- servlet -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>3.0-alpha-1</version>
			<scope>provided</scope>
		</dependency>

		<!-- log4j -->
		<!-- <dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency> -->

		<!-- jstl -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.2.1-b03</version>
			<scope>provided</scope>
		</dependency>

		<!-- 文件上傳 -->
		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.3.1</version>
		</dependency>
		
		<dependency>    
		    <groupId>net.sf.json-lib</groupId>    
		    <artifactId>json-lib</artifactId>    
		    <version>2.4</version>    
		    <classifier>jdk15</classifier>    
		</dependency>  

		<!-- fastJson json數組有關的 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.1.41</version>
		</dependency>
		
		<dependency>
		    <groupId>org.json</groupId>
		    <artifactId>json</artifactId>
		    <version>20160810</version>
		</dependency>
		
		<!-- 基於jwt的token驗證 -->
		<!-- https://mvnrepository.com/artifact/com.auth0/java-jwt -->
		<!-- <dependency>
		    <groupId>com.auth0</groupId>
		    <artifactId>java-jwt</artifactId>
		    <version>3.8.1</version>
		</dependency> -->


		<!-- 使用 Jackson 把 Java 對象轉換成 JSON 字串 -->
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-mapper-asl</artifactId>
			<version>1.9.13</version>
		</dependency>
		 <dependency>
			  <groupId>com.fasterxml.jackson.core</groupId>
			  <artifactId>jackson-core</artifactId>
			  <version>2.2.3</version>
			</dependency>
			<dependency>
			  <groupId>com.fasterxml.jackson.core</groupId>
			  <artifactId>jackson-databind</artifactId>
			  <version>2.2.3</version>
			</dependency>
			<dependency>
			  <groupId>com.fasterxml.jackson.core</groupId>
			  <artifactId>jackson-annotations</artifactId>
			  <version>2.2.3</version>
		</dependency>

		<!-- mysql數據庫驅動 -->
		
		<!-- <dependency>
			<groupId>com.oracle</groupId>
			<artifactId>ojdbc6</artifactId>
			<version>6.0</version>
		</dependency> -->

		<!-- druid -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.0.22</version>
			 <!-- <exclusions>
                 <exclusion>  
                    <groupId>com.alibaba</groupId>
                    <artifactId>jconsole</artifactId>
                    <version>1.8.0</version>
                </exclusion>  
                <exclusion>
                    <groupId>com.alibaba</groupId>
                    <artifactId>tools</artifactId>
                    <version>1.8.0</version>
                </exclusion> 
        </exclusions> -->
		</dependency>

		<!-- aspectjweaver.jar這是Spring AOP所要用到的包 -->
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>1.7.1</version>
		</dependency>

		<!-- hibernate4 -->
		<!-- <dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>4.2.5.Final</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-entitymanager</artifactId>
			<version>4.2.5.Final</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-ehcache</artifactId>
			<version>4.2.5.Final</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate.javax.persistence</groupId>
			<artifactId>hibernate-jpa-2.0-api</artifactId>
			<version>1.0.1.Final</version>
		</dependency> -->
		
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.3.0</version>
		</dependency>
		
		<!-- Spring集成MyBatis -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.3.0</version>
		</dependency>

		<!-- spring mvc -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<!-- spring3 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</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-jdbc</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-web</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-expression</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${spring.version}</version>
		</dependency>
		
		<dependency>
			<groupId>org.jasig.cas.client</groupId>
			<artifactId>cas-client-core</artifactId>
			<version>3.2.1</version>
		</dependency>


		<!-- lang3 -->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.4</version>
		</dependency>
		<dependency>
		    <groupId>commons-lang</groupId>
		    <artifactId>commons-lang</artifactId>
		    <version>2.6</version>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.9</version>
		</dependency>
	
		<dependency>
		    <groupId>net.sf.ezmorph</groupId>
		    <artifactId>ezmorph</artifactId>
		    <version>1.0.6</version>
		</dependency>
		
		<!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils -->
		<dependency>
		    <groupId>commons-beanutils</groupId>
		    <artifactId>commons-beanutils</artifactId>
		    <version>1.8.3</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/commons-collections/commons-collections -->
		<dependency>
		    <groupId>commons-collections</groupId>
		    <artifactId>commons-collections</artifactId>
		    <version>3.2.1</version>
		</dependency>
		
		<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
		<dependency>
		    <groupId>commons-logging</groupId>
		    <artifactId>commons-logging</artifactId>
		    <version>1.1.3</version>
		</dependency>
		
		<!-- jdk加密工具 -->
		<dependency>
			<groupId>org.bouncycastle</groupId>
			<artifactId>bcprov-jdk16</artifactId>
			<version>1.46</version>
		</dependency>

		<!-- 連接sqlserver2008 -->
		<dependency>
			<groupId>net.sourceforge.jtds</groupId>
			<artifactId>jtds</artifactId>
			<version>1.2.7</version>
		</dependency>
		<!-- MySql 5.5 Connector -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.34</version>
            <scope>runtime</scope>
        </dependency>
		
		<!-- poiExcel -->
		<dependency>
		    <groupId>org.apache.poi</groupId>
		    <artifactId>poi-excelant</artifactId>
		    <version>3.9</version>
		</dependency>
		
		<!-- 極光推送依賴包 -->
		<dependency>
		    <groupId>cn.jpush.api</groupId>
		    <artifactId>jpush-client</artifactId>
            <version>3.2.17</version>
        </dependency>

		<dependency>
		    <groupId>cn.jpush.api</groupId>
		    <artifactId>jiguang-common</artifactId>
		    <version>1.0.3</version>
		</dependency>
		<dependency>
		   <groupId>io.netty</groupId>
		   <artifactId>netty-all</artifactId>
		   <version>4.1.6.Final</version>
		   <scope>compile</scope>
		</dependency>
		<dependency>
		   <groupId>com.google.code.gson</groupId>
		   <artifactId>gson</artifactId>
		   <version>2.3</version>
		</dependency>
		<dependency>
		   <groupId>org.slf4j</groupId>
		   <artifactId>slf4j-api</artifactId>
		   <version>1.7.7</version>
		</dependency>
		
		<!-- For log4j -->
	    <dependency>
	        <groupId>org.slf4j</groupId>
	        <artifactId>slf4j-log4j12</artifactId>
	        <version>1.7.7</version>
	    </dependency>
	    <dependency>
	        <groupId>log4j</groupId>
	        <artifactId>log4j</artifactId>
	        <version>1.2.17</version>
	    </dependency>
		
		<!-- 拼音 -->
		<dependency>
		    <groupId>com.belerweb</groupId>
		    <artifactId>pinyin4j</artifactId>
		    <version>2.5.0</version>
		</dependency>
	</dependencies>
	
	<!-- install的時候不執行test -->
	<build>
		<defaultGoal>compile</defaultGoal>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

如果有問題可以聯繫本人:扣扣:839785192

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章