SSM三大框架整合详细

一、开发环境搭建

1.jdk的安装,参考:点击打开链接

2.Eclipse的安装,参考:点击打开链接

   配置Eclipse的JDK为我们自己安装的(window——>preferences)

SSM三大框架整合详细_第1张图片

此时我们可以创建一个java项目,编写helloword测试是否正确。

3.tomcat的下载(官网:http://tomcat.apache.org/)和安装

4.Eclipse配置tomcat(window——>preferences

SSM三大框架整合详细_第2张图片

SSM三大框架整合详细_第3张图片

5.maven安装(官网:http://maven.apache.org/download.cgi)和配置

SSM三大框架整合详细_第4张图片

    在环境变量下面(系统变量)新建变量名:MAVEN_HOME  编辑变量值:E:\java\apache-maven-3.5.3

    编辑变量名Path   在最前面加上:%MAVEN_HOME%\bin;(PS:最后需要一个“;”作为分隔符)

    完成后在命令里面输入mvn -version,如下表示配置成功

SSM三大框架整合详细_第5张图片

   maven数据仓库的配置:找到maven的安装路径,进入conf打开settings.xml,找到localRepository标签,此时是被注释掉的,我们解除注释,配置路径(eg:E:\java\mavenRepository\maven_jar),这样以后maven下载的包都会在这个路径下。然后copy这个settings.xml到E:\java\mavenRepository下,Eclipse集成会用到。

SSM三大框架整合详细_第6张图片

   eclipse集成maven

SSM三大框架整合详细_第7张图片

SSM三大框架整合详细_第8张图片

   此时,点击File——>New——>other——>Maven Project,看到这些表明配置成功,就可以创建maven项目了

6.SVN安装

二、创建maven web项目

(Artifact Id选择maven-archetype-webapp)

三、maven需要引入的jar包(pom.xml)


  4.0.0
  org.storm
  storm
  war
  0.0.1-SNAPSHOT
  storm Maven Webapp
  http://maven.apache.org
  
  
	
	4.0.2.RELEASE
	
	3.2.6
	
	1.7.7
	1.2.17
  

  
	
		junit
		junit
		4.11
		
		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.2.2
	
	
	
		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
	
	
  

  
    storm
  

四、Spring与MyBatis的整合

1.创建jdbc属性文件(jdbc.properties)

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test1
#?useUnicode=true&&characterEncoding=UTF-8
username=root
password=123123
#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间
maxWait=60000

2.建立spring-mybatis.xml配置文件



	
	
	
	
		
	

	
		
		
		
		
		
		
		
		
		
		
		
		
		
		
	

	
	
		
		
		
	

	
	
		
		
	

	
	
		
	

3.Log4j的配置(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/ssm.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

4.JUnit测试【通过以上步骤,log4j可以不配,已经完成了spring和mybatis的整合,这样我们可以编写代码测试了】

①创建测试所用表

DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `stuId` int(11) NOT NULL AUTO_INCREMENT,
  `stuName` varchar(45) NOT NULL,
  `stuAge` int(11) NOT NULL,
  `stuCode` varchar(45) NOT NULL,
  PRIMARY KEY (`stuId`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

INSERT INTO `student` VALUES (5,'Marry',11,'96'),(6,'Nancy',12,'100');

②利用MyBatis Gennerator自动创建代码,参考:点击打开链接

③建立Service接口和实现类 IStudentService.java和StudentServiceImpl.java

package com.cdc.service;

import com.cdc.entity.Student;

public interface IStudentService {
	public Student getStudentById(int stuId);
}
package com.cdc.service.impl;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.cdc.entity.Student;
import com.cdc.mapper.StudentMapper;
import com.cdc.service.IStudentService;

@Service("stuService")
public class StudentServiceImpl implements IStudentService{

	@Resource
	private StudentMapper studentMapper;
	
	public Student getStudentById(int stuId) {
		return this.studentMapper.selectByPrimaryKey(stuId);
	}
	
}
④建立测试类(src/test/java),下面测试类中注释掉的部分是不使用Spring时,一般情况下的测试方法;如果使用了Spring那么就可以使用注解的方式来引入配置文件和类,然后再将service接口对象注入,就可以进行测试了。

    如果测试成功,表示Spring和Mybatis已经整合成功了。输出信息使用的是Log4j打印到控制台。

package org.testmybatis;

import javax.annotation.Resource;

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

import com.alibaba.fastjson.JSON;
import com.cdc.entity.Student;
import com.cdc.service.IStudentService;

@RunWith(SpringJUnit4ClassRunner.class)		//表示继承了SpringJUnit4ClassRunner类
@ContextConfiguration(locations = {"classpath:spring-mybatis.xml"})
public class TestMyBatis {
	private static Logger logger = Logger.getLogger(TestMyBatis.class);
//	private ApplicationContext ac = null;
	@Resource
	private IStudentService stuService = null;

//	@Before
//	public void before() {
//		ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//		userService = (IUserService) ac.getBean("userService");
//	}

	@Test
	public void test1() {
		Student student = stuService.getStudentById(10);
		// System.out.println(user.getUserName());
		// logger.info("值:"+user.getUserName());
		logger.info(JSON.toJSONString(student));
	}
}

至此,完成Spring和mybatis这两大框架的整合,下面在继续进行SpringMVC的整合。

五、整合SpringMVC

上面已经完成了2大框架的整合,SpringMVC的配置文件单独放,然后在web.xml中配置整合。

1.配置spring-mvc.xml



	
	
	
	
		
			
				text/html;charset=UTF-8
			
		
	
	
	
		
			
					
			
		
	
	
	
		
		
		
	
	
	
	  
        
          
        
          
        
          
     

2.配置web.xml

  这里面对spring-mybatis.xml的引入以及配置的spring-mvc的Servlet就是为了完成SSM整合,之前2框架整合不需要在此处进行任何配置



	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
	

3.测试(至此已整合完成,需测试是否整合成功?成功,恭喜你!else,和bug做斗争!)

①新建showStudent.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>




测试


	${student.stuName}

②建立StudentController.java控制器

package com.cdc.controller;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.cdc.entity.Student;
import com.cdc.service.IStudentService;

@Controller
@RequestMapping("/student")
public class StudentController {
	@Resource
	private IStudentService iStudentService;
	
	@RequestMapping("/showStudent")
	public String toIndex(HttpServletRequest request, Model model) {
		int stuId = Integer.parseInt(request.getParameter("id"));
		Student student = this.iStudentService.getStudentById(stuId);
		model.addAttribute("student", student);
		return "showStudent";
	}
}

4.部署项目,输入地址:http://localhost:8080/项目名称/student/showStudent?id=10

SSM三大框架整合详细_第9张图片

以上是项目的目录结构,至此,SSM三大框架的整合就完成了,在此基础上可再添加其他功能。





你可能感兴趣的:(SSM整合,java,SSM整合,java)