三大框架Spring+Mybatis+springMVC整合

对于SSM框架学习使用已经快一年,现在打算从简单的整个框架搭建,再去整合一些其他的框架,例如shiro,springboot,dubbo,zookeeper等。那么今天呢,先简单的介绍一下SSM框架的整合,maven进行项目管理。首先你要去了解Spring,springMVC,mybatis,Maven是做什么的,有哪些好处,用处等等,这里就不多说了。现在进入正题。

1.新建MAVEN项目

三大框架Spring+Mybatis+springMVC整合_第1张图片

三大框架Spring+Mybatis+springMVC整合_第2张图片

三大框架Spring+Mybatis+springMVC整合_第3张图片

三大框架Spring+Mybatis+springMVC整合_第4张图片


2.SSM框架的整合

首先先看下我项目的结构目录,如下图:三大框架Spring+Mybatis+springMVC整合_第5张图片.

接下来就是在pom.xml中配置相关的jar包文件


	4.0.0
	com.ssm
	ssm
	war
	0.0.1-SNAPSHOT
	ssm Maven Webapp
	http://maven.apache.org
	
		
		4.3.10.RELEASE
		
		3.4.5
		
		1.7.7
		1.2.17
	

	
		
			junit
			junit
			4.12
			
			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-aop
			${spring.version}
		

		
			org.springframework
			spring-context-support
			${spring.version}
		

		
			org.springframework
			spring-test
			${spring.version}
		
		
		
			org.mybatis
			mybatis
			${mybatis.version}
		
		
		
			org.mybatis
			mybatis-spring
			1.3.1
		
		
		
			javax
			javaee-api
			7.0
		
		
		
			mysql
			mysql-connector-java
			5.1.30
		
		
		
			commons-dbcp
			commons-dbcp
			1.2.2
		
		
		
			jstl
			jstl
			1.2
		
		
		
		
			log4j
			log4j
			${log4j.version}
		
		
		
			com.alibaba
			fastjson
			1.1.41
		
		
			org.slf4j
			slf4j-api
			${slf4j.version}
		
		
			org.slf4j
			slf4j-log4j12
			${slf4j.version}
		
		
		
		
			org.codehaus.jackson
			jackson-mapper-asl
			1.9.13
		
		
		
			commons-fileupload
			commons-fileupload
			1.3.1
		
		
			commons-io
			commons-io
			2.4
		
		
			commons-codec
			commons-codec
			1.9
		
		
			com.fasterxml.jackson.core
			jackson-core
			2.8.5
		
		
			com.fasterxml.jackson.core
			jackson-databind
			2.8.5
		
		
			com.fasterxml.jackson.core
			jackson-annotations
			2.8.5
		
	
	
		ssm
	


然后,创建jdbc.properties 和log4j.properties文件。jdbc.properties的配置为:

jdbc.driver=com.mysql.jdbc.Driver  
jdbc.url=jdbc:mysql://127.0.0.1:3306/db_bps  
jdbc.username=root  
jdbc.password=admin  
#定义初始连接数  
jdbc.initialSize=0  
#定义最大连接数  
jdbc.maxActive=20  
#定义最大空闲 
jdbc.maxIdle=20  
#定义最小空闲
jdbc.minIdle=1  
#定义最长等待时间
jdbc.maxWait=60000 
log4j.properties的配置为:
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/ssm.log  
#定义文件最大大小  
log4j.appender.File.MaxFileSize = 1MB  
# 输出所以日志,如果换成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


接下来就是配置数据源spring-mybatis.xml 这里配置数据库连接,扫描,注入等

  
  
      
      
      
      
          
      
  
      
          
          
          
          
          
          
          
          
          
          
          
          
          
          
      
  
      
      
          
          
          
      
  
      
      
          
          
      
  
      
      
          
      
  
  


编写接口测试

我这里没有操作数据库,如果需要操作数据库的话也可以自己去做一下,但是没有操作数据库,像mapping里面的文件都要配完整,不然等下单元测试无法成功。

三大框架Spring+Mybatis+springMVC整合_第6张图片
三大框架Spring+Mybatis+springMVC整合_第7张图片
三大框架Spring+Mybatis+springMVC整合_第8张图片

service,seviceImpl,pojo文件都创建好了之后,在这个test目录下面进行一个单元测试类

三大框架Spring+Mybatis+springMVC整合_第9张图片

package ssm;

import org.apache.log4j.Logger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.alibaba.fastjson.JSON;
import com.ssm.pojo.User;
import com.ssm.service.UserService;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring-mybatis.xml"}) 
public class test {

	private final static Logger LOGGER = Logger.getLogger(test.class);
	
	@Autowired
	private UserService userService;
	
	@Test
	public void testOne(){
		User user = userService.findUser();
		System.out.println(JSON.toJSONString(user));
	}
}

然后点击单元测试运行得出以下结果说明成功:

三大框架Spring+Mybatis+springMVC整合_第10张图片


接着,配置spring-mvc.xml和web.xml

spring-mvc.xml配置为:



	
	
	
	
		
			
				text/html;charset=UTF-8
			
		
	
	
	
		
			
				 
			
		
	
	
	
		
		
		
	

	
	
		
		
		
		
		
		
	

  
web.xml配置如下:



	Archetype Created Web Application
	
	
		contextConfigLocation
		classpath:spring-mybatis.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:spring-mvc.xml
		
		1
		true
	
	
		SpringMVC
		
		/
	
	
		/index.jsp
	

  

现在就是在WEB-INF下面新建jsp文件夹,里面新建showUser.jsp,并且内容写上如图:

三大框架Spring+Mybatis+springMVC整合_第11张图片三大框架Spring+Mybatis+springMVC整合_第12张图片

在index.jsp中内容写上三大框架Spring+Mybatis+springMVC整合_第13张图片

最后在controller目录中新建UserController.java,内容写上:三大框架Spring+Mybatis+springMVC整合_第14张图片

package com.ssm.controller;

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

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.ssm.pojo.User;
import com.ssm.service.UserService;

/**
 * User控制层
 * @author BPS
 * @time 2017年8月30日下午4:08:53
 *
 */
@Controller
@RequestMapping("/user")
public class UserController {

	private final static Logger LOGGER = Logger.getLogger(UserController.class);
	
	@Autowired
	private UserService userService;
	
	/**
	 * 查找user
	 * @param response
	 * @param request
	 * @return
	 */
	@RequestMapping("/findUser")
	public ModelAndView findUser(HttpServletResponse response,HttpServletRequest request){
		LOGGER.info("进入查找User方法");
		ModelAndView mv = new ModelAndView("showUser");
		User user = userService.findUser();
		mv.addObject("user", user);
		return mv;
	}
}

最后将项目用tomcat启动运行,在浏览器上输入localhost:8080/ssm  得出结果如下:


说明你的一个简单的SSM框架项目整合就圆满收工了。可以在此基础上添加新的功能哦!有什么缺陷各位请指出!

源码下载链接:http://download.csdn.net/download/kobe_bps/9957441

码云下载链接:http://git.oschina.net/xff520/SSM


你可能感兴趣的:(框架技术)