SSM(Spring+Spring MVC+Mybatis)环境框架搭建与配置详解

版权声明:本文为博主原创文章,未经博主允许不得转载。


一、简介

使用SSM框架做了一些项目,一直都是使用别人已经搭建好的框架。于是自己尝试着搭建了一下框架,并研究了一下配置文件。


基本的组织结构和用法就不用多说了,各种官方文档上比较全面


二、环境与框架


开发环境MyEclipse+JDK1.7+Tomcat7

开发环境配置请查阅博客


本文按照开发环境搭建,完整的结构框架如下


SSM(Spring+Spring MVC+Mybatis)环境框架搭建与配置详解_第1张图片



三、配置文件详解

1.web.xml

web.xml应该是整个项目中最重要的配置文件了,配置方式与普通的servlet基本相似

  
    mvc
    org.springframework.web.servlet.DispatcherServlet
    
      contextConfigLocation
      classpath:resources/spring-servlet.xml
    
    1
  
  
    mvc
    /
  

servlet 配置前端控制器,其中

ContextconfigLocation配置配置springmvc加载的配置文件适配器、处理映射等等

url-pattern中 .* :访问以.*结尾 由DispatcherServlet进行解析

/  :所有访问由DispatcherServlet进行解析


配置Spring容器:

  
    contextConfigLocation
    classpath:resources/spring-mvc.xml
  
配置日志文件:

  
    log4jConfigLocation
    classpath:log4j.properties
  
  
    log4jRefreshInterval
    60000
  

配置监听器:

  
    org.springframework.web.context.ContextLoaderListener
  
  
    org.springframework.web.util.Log4jConfigListener
  


配置容器编码为utf-8:

  
    encodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      UTF-8
    
    
      forceEncoding
      true
    
  
  
 
    encodingFilter
    /*
  

配置处理错误页面:


	java.lang.Throwable
	/error.jsp


	404
	/error.jsp


	500
	/error.jsp

完整的web.xml文件如下:



  
java.lang.Throwable
/error.jsp


404
/error.jsp


500
/error.jsp

  
 

  
    encodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      UTF-8
    
    
      forceEncoding
      true
    
  
  
 
    encodingFilter
    /*
  

  
  
    log4jConfigLocation
    classpath:log4j.properties
  
  
    log4jRefreshInterval
    60000
  
  
    contextConfigLocation
    classpath:resources/spring-mvc.xml
  
  
    org.springframework.web.context.ContextLoaderListener
  
  
    org.springframework.web.util.Log4jConfigListener
  
  
    mvc
    org.springframework.web.servlet.DispatcherServlet
    
      contextConfigLocation
      classpath:resources/spring-servlet.xml
    
    1
  
  
    mvc
    /
  
  
    60
  




2.spring-mvc.xml



	        
	
	
	
	    
	
    
	  
	

	
	
		
		
		
		
		
		
	   
		
		
		
		
		
		
		
		
		
		
	

	
	
    
		
		
	
	
	  
	 
		
		
	 

	 
	  
	
		
		
	

 	

	
		
			
			
			
			
			
			
			
			
			
			
			
			
		
	
	
	
		
	

	
		
			
				error/access-denied
				error/non-empty-group
			
		
		
		
		
	
	
    	
		
		
		
    



3.spring-servlet.xml




	

	
	
		
		
	
	
	


	
	
	
		
			
			
			
			
				
					
						text/plain;charset=UTF-8
					
				
			
			
				
					
						
							NON_NULL
						
					
				
			
		
	

	

	
	
 


4.jdbc.properties与log4j.properties

1.jdbc.properties

jdbc.driver =com.mysql.jdbc.Driver
jdbc.url = jdbc\:mysql\://yourUrl\:3306/test?createDatabaseIfNotExist\=true&useUnicode\=true&characterEncoding\=UTF-8
jdbc.user =yourName
jdbc.password = yourPwd
jdbc.maxActive=20


2.log4j.properties



log4j.rootLogger=DEBUG,stdout,E
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%-5p]%d{yyyy-MM-dd HH:mm:ss}[%c]:%m%n
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.com.mchange.v2.c3p0=OFF
log4j.logger.com.mchange.v2=OFF
log4j.logger.org.springframework=OFF
log4j.logger.org.mybatis=OFF
log4j.logger.org.apache.ibatis=OFF
log4j.logger.org.apache.http=OFF

# error
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = D\:/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 =[%-5p]%d{yyyy-MM-dd HH\:mm\:ss}[%c]\:%m%n



四、架构详解

base:定义基础操作和基础类,一般具体操作和几次实体都继承自此结构下的接口

controller:控制层

dao:数据库持久层

handler:定义具体逻辑与操作

schema:实体,一般与数据库中各表的具体字段对应

util:工具类

resource:配置工具,包含mybatis的mapper映射文件,对数据库具体操作在此文件中

五、测试

数据库中保存如下数据

SSM(Spring+Spring MVC+Mybatis)环境框架搭建与配置详解_第2张图片


mapper映射文件如下:

  


	
		
		
		
		
		
		
	
  
 		


使用Postman测试

SSM(Spring+Spring MVC+Mybatis)环境框架搭建与配置详解_第3张图片

访问地址在controller视图控制类中定义


返回结果如下:

{
  "code": "1000",
  "data": {
    "age": 26,
    "collegeName": "清华大学",
    "graduateYear": "2015",
    "id": "1",
    "name": "张三",
    "sex": 1
  },
  "msg": "success"
}


你可能感兴趣的:(SSM)