Spring+SpringMVC+MyBatis+Maven整合随记

第一次整合,记录一下。

一、相关配置

1、先看下整体目录吧

Spring+SpringMVC+MyBatis+Maven整合随记_第1张图片

2、pom.xml文件配置


  4.0.0
  springMVCMybatis
  springMVCMybatis
  war
  0.0.1-SNAPSHOT
  springMVCMybatis Maven Webapp
  http://maven.apache.org
  
  
  
  	4.2.5.RELEASE 
  	
  	
  	3.2.8
  	
  	
  	5.1.29
  	
  	
  	1.7.18
  	1.2.17
  
  
  
    
      junit
      junit
      3.8.1
      test
    
    
    
    
    	org.springframework
    	spring-core
    	${spring.version}
    
    
    
    	org.springframework
    	spring-web
    	${spring.version}
    
    
    
    	org.springframework
    	spring-oxm
    	${spring.version}
    
    
    
    	org.springframework
    	spring-tx
    	${spring.version}
    
    
    
    	org.springframework
    	spring-jdbc
    	${spring.version}
    
    
    
    	org.springframework
    	spring-webmvc
    	${spring.version}
    
    
    
    	org.springframework
    	spring-context
    	${spring.version}
    
    
    
    	org.springframework
    	spring-context-support
    	${spring.version}
    
    
    
    	org.springframework
    	spring-aop
    	${spring.version}
    
    
    
    	org.aspectj
    	aspectjweaver
    	1.6.12
    
    
    
    	org.springframework
    	spring-test
    	${spring.version}
    
    
    
    	org.springframework
    	spring-beans
    	${spring.version}
    

     
     
    
    	org.mybatis
    	mybatis
    	${mybatis.version}
    
     
     
     
     	org.mybatis
     	mybatis-spring
     	1.2.2
     

     
     
     
     	mysql
     	mysql-connector-java
     	${mysql-driver.version}
     

     
     
     
     	commons-dbcp
     	commons-dbcp
     	1.2.2
     

     

     
     
     
     	log4j
     	log4j
     	${log4j.version}
     
	
	
		org.slf4j
		slf4j-api
		${slf4j.version}
	
     
     
     	org.slf4j
     	slf4j-log4j12
     	${slf4j.version}
     
     
     
     
     	jstl
     	jstl
     	1.2
     
     
     	taglibs
     	standard
     	1.1.2
     

      
      
      
      
      	com.fasterxml.jackson.core
      	jackson-databind
      	2.7.0
      

	 
	 
	 	javax.servlet
	 	javax.servlet-api
	 	3.1.0
	 
	 
	   
	 
	 	commons-io
	 	commons-io
	 	1.3.2
	 
	 
	 	 commons-fileupload
    commons-fileupload
    1.3
	 
  
  

  
  
  
    springMVCMybatis
  
  


3、web.xml




  Archetype Created Web Application
  
  
  
  	contextConfigLocation
  	classpath:applicationContext.xml
  
  
  
  
  	encodingFilter
  	org.springframework.web.filter.CharacterEncodingFilter
  	true
  	
  		encoding
  		UTF-8
  	
  
  
  	encodingFilter
  	/*
  
  
  
  
  	org.springframework.web.context.ContextLoaderListener
  
  
  
  
  	org.springframework.web.util.IntrospectorCleanupListener
  
  
  
  
  	SpringMVC
  	org.springframework.web.servlet.DispatcherServlet
  	
  		contextConfigLocation
  		classpath:springMVC.xml
  	
  	1
  	true
  
  
  	SpringMVC
  	/
  
  
  	index.jsp
  


4、applicationContext.xml




		
		
		
		
		
	
		
		
	
	
	
	
		
		
		
		
		
		
		
		
		
		
		
		
		
		
	
	
	
	
		
		
		
		
		
	
	
	
	
		
		
	
	
	
	
		
	
	
	
	
		
		
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
		
	
	
	
	
		
		
	
	
	
	

5、jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mysqldb
jdbc.username=root
jdbc.password=123456
initialSize=0
maxActive=20
maxIdle=20
minIdle=1
maxWait=60000

6、log4j.properties

#定义log输出级别
log4j.rootLogger=INFO,Console,File
#定义日志输出目的地为控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
#可以灵活的指定日志输出格式,下面一行是指定具体的格式
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern==[%c] - %m%n

#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.File=org.apache.log4j.RollingFileAppender
#指定输出目录
log4j.appender.File.File=logs/my.log
#定义文件最大大小
log4j.appender.File.MaxFileSize=10MB
#输出所有日志,如果换成DEBUG表示输出DEBUG以上的级别的日志
log4j.appender.File.Threshold=ALL
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n

7、mybatis-config.xml




	
	
		
	


8、springMVC.xml




	
	
	
	
	
		
			/WEB-INF/views/
		
		
			.jsp
		
	
	
	
		
			100
		
	
	
	
	 
		
			UTF-8
		
	 
	
	

9、测试javabean

public class User {

	private String id;
	private String name;
	private String password;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + ", password=" + password + "]";
	}		
}


10、测试controller

@Controller
public class UserContorller {

	@Resource
	private UserService userService;
	
	@RequestMapping("/user")
	public String getUser(Map map)
	{
		User user = userService.queryUser().get(0);
		map.put("user", user);
		map.put("time", new Date());
		System.out.println("user ---"+user);
		return "success";
	}
}

11、测试service

public interface UserService {

	
	public List queryUser();
	
}
@Service("userService")
public class UserServiceImpl implements UserService {

	@Resource
	private UserDao userDao;
	
	public List queryUser() {
		System.out.println("UserServiceImpl queryUser");
		return userDao.queryUser();
	}

}

12、测试dao

public interface UserDao {

	public List queryUser();
	
}

13、测试mapper





14、success.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8" isELIgnored="false"%>




Insert title here


request user:${requestScope.user }


time:${requestScope.time}
注意:用requestScope.user 一定要把el表达式开关打开:isELIgnored="false"

15、结果

Spring+SpringMVC+MyBatis+Maven整合随记_第2张图片


二、整合中出现的问题

1、maven 下载 commons-fileupload.jar 死活下载不下来

解决办法:换镜像

找到maven仓库中settings.xml文件,找到,添加以下代码

 
      alimaven
      aliyun maven
      
          http://maven.aliyun.com/nexus/content/groups/public/
      
      central        
    

2、
①、org.xml.sax.SAXParseException;必须声明元素类型 "configuraation"


②、org.xml.sax.SAXParseException 文档根元素 "mapper" 必须匹配 DOCTYPE 根 "configuraation"


原因是,我的mybatis-config.xml文件错误,如下图所示:

Spring+SpringMVC+MyBatis+Maven整合随记_第3张图片

报第一个错误,然后我把 DOCTYPE后面的configuraation改正确了,但是没发现下边的标签也是错误的,没有修改,又报第二个错误,才发现标签中也是错误的。正确如下:

Spring+SpringMVC+MyBatis+Maven整合随记_第4张图片

所以,以后不要手敲了,还是复制粘贴靠谱。

3、

java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException

缺少aspectj jar包:

 
    	org.aspectj
    	aspectjweaver
    	1.6.12
    

4、在eclipse .properties文件中写中文

安装插件即可,步骤如下:

https://blog.csdn.net/liyys/article/details/70244093

①、点击 help--Install New Software

②、在打开的窗口点击 add 按钮,

③、在Location 栏输入  http://propedit.sourceforge.jp/eclipse/updates/  然后点击ok

④、在出现的列表中,选择选择PropertiesEditor,然后Next.

⑤、点击“ I accept...........”然后Finish,然后等待安装

⑥、安装完成后点击“Restart Now”重启eclipse

⑦、此时在properties文件上点右键,点击“Open With"-"PropertiesEditor",打开文件,现在就可以直接输入中文了

5、Access denied for user 'ThinkPad'@'localhost' (using password: YES)
Access denied for user 'cjl'@'localhost' (using password: YES)

这样的链接错误,全是jdbc.properties文件 和 applicationContext.xml 中关于数据连接那段两边不一致或者粗心配置错误导致的。另外:jdbc.properties 中的属性最好加上前缀

6、java.lang.UnsupportedOperationException

这个错误是因为mapper中的查询方法返回类型配置错误的原因,dao方法,查询所有用户,返回的list,

所以我就这样配置了resultType="list",然后报错,正确的应该是resultType="User"。粗心啊。

注意:resultType返回的是集合中的元素类型,而不是集合本身


你可能感兴趣的:(Spring+SpringMVC+MyBatis+Maven整合随记)