作为web开发初学者,面对各种框架的配置文件时常感到知其然不知其所以然。这是因为很多配置文件其实有多种写法都可以达到同样目的。最近研究了spring整合mybatis的工程,终于把这些门道大致摸清了。

web开发领域一向推崇MVC模式,于是有了SSH之类的组合框架。不过我总感觉SSH有点臃肿,甚至即便只用spring的MVC模块,我都觉得没有自己写servlet理解起来直接,于是采用更简洁的spring+mybatis+servlet的结构。mybatis是轻量级的orm框架。除非回到自己手写jdbc的sql语句原始途径上去,否则这点复杂性还是需要的,而且mybatis的映射语句就是sql,学习曲线并不高。

本来spring也可以不用,但是表多了、dao接口多了,手工管理起来也有点麻烦。所以还是用spring管理起来,至少xml文件能少写很多很多行。

作为对“简洁”事务的执着追求者,我把这些配置文件都精简到了最短,多出的文字只是解释。

web.xml




  
  
    CheckName
    com.zjc.servlet.CheckName
  
  
  
  
    InitServlet
    com.zjc.servlet.SpringServlet
    1
  
  
    Test
    com.zjc.servlet.SpringServlet
  
  
  
  
    contextConfigLocation
    WEB-INF/config/application-Context.xml
  
  
    org.springframework.web.context.ContextLoaderListener
  
  
  
    
        log4jConfigLocation  
        WEB-INF/config/log4j.properties  
  
  
    org.springframework.web.util.Log4jConfigListener
  
  
  
  
      encodingFilter
      org.springframework.web.filter.CharacterEncodingFilter
      
       encoding
       utf-8
      
      
       forceEncoding
       true
    
  
  
      encodingFilter
      /*
  
   
  
  
    CheckName
    /CheckName
  
  
    Test
    /test
  

	
		index.html
	

spring的配置文件:application-Context.xml



                
    
    
    
    
    	
    	
    	
    	
    
    
    
    	
    	
    	 
    	
    	
    	
    
    
    
    
    	
    	
    	
    
    
    
    
    
    	
    
    
    
    
    
    	
    	
    

mybatis配置文件:mybatis.xml




	
	
    	
    
    
    
	
		
		
		
	
	
	

jdbc属性文件:jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/courseware
jdbc.username=courseware
jdbc.password=courseware

log4j属性文件:log4j.properties

log4j.rootLogger=info,CA

#trace mybatis--If you need log mybatis sql statements,add Interface(Mapper) at here.
log4j.logger.com.zjc.dao.IUserMapper=TRACE
#log4j.logger.com.zjc.dao.ICommentMapper=TRACE

log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%d5p %c %x - %m%n

目录结构:

代码目录:

修改了一点,但截图还是旧的。接口名应该为UserMapper.Java