Spring+Mybatis+Spring MVC框架整合(一)

Spring

 

一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

不明白什么是Ioc的看这里:Ioc模式浅谈

什么是AOP,简单来说,就是神不知鬼不觉地增加了功能,而操作者全然不知,谁来实现,通过Spring动态代理实现;

利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的效率。

主要功能:日志记录、性能统计、安全控制、事务处理、异常处理等等。

 

Mybatis

一个可以自定义SQL、存储过程和高级映射的持久层框架。

我们可以使用简单的XML 和注解来配置、映射基本数据类型、Map 接口和POJO 到数据库记录。

使用Mybatis逆向工程,可以将对应的数据库记录映射成POJOS和Map接口(映射文件XML和接口.java文件)

POJO:简单Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。在Dao层,一个POJO对象里包含的信息实际上就对应的是数据记录里的一张表。

DAO:Data Access Object  数据访问接口

JavaBeans:一种规范,也是一个Java类,绝大多数情况下是一个公开的class,对应一个独立的.java文件,在程序中实例化后的对象,就是我们面向对象的对象,我们有时也会将一个JavaBeans的实例称之为JavaBeans。总之,就是Java中的接口、类和对象。

 

Mybatis 基本执行流程图:

Spring+Mybatis+Spring MVC框架整合(一)_第1张图片

 

 

 

Spring MVC

一种轻量级的web框架;帮助我们简化开发。

Spring是Spring, MVC是MVC(M:模型    V:视图    C:控制器 ),Spring MVC 是Spring的一部分。

 

 

Spring                       4.1.3.RELEASE

Spring MVC              4.1.3.RELEASE

Mybatis                     3.2.8

Mybatis+Spring(整合包)1.2.2

 

Maven本地仓库 统一管理jar包

 

 

Spring+Mybatis+Spring MVC框架整合(一)_第2张图片

整合开始:

1、空白eclipse

Spring+Mybatis+Spring MVC框架整合(一)_第3张图片

2、配置本地仓库

Spring+Mybatis+Spring MVC框架整合(一)_第4张图片

Spring+Mybatis+Spring MVC框架整合(一)_第5张图片

Spring+Mybatis+Spring MVC框架整合(一)_第6张图片

 

最后,我们改一下路径:

Spring+Mybatis+Spring MVC框架整合(一)_第7张图片

 

3、创建一个Pom类型的Maven Project,该工程为父工程:

Spring+Mybatis+Spring MVC框架整合(一)_第8张图片

Spring+Mybatis+Spring MVC框架整合(一)_第9张图片Spring+Mybatis+Spring MVC框架整合(一)_第10张图片

ssm-parent pom.xml:


  4.0.0
  com.ssm
  ssm-parent
  0.0.1-SNAPSHOT
  pom
  
	
		4.12
		4.1.3.RELEASE
		3.2.8
		1.2.2
		1.2.15
		5.1.32
		1.6.4
		2.4.2
		1.0.9
		4.3.5
		1.2
		2.5
		2.0
		2.5
		3.3.2
		1.3.2
		3.3
		5.0.0
		0.9.1
		1.3.1
		2.7.2
		4.10.3
		2.3.23
		2.2.2
	
	
		
			
			
				joda-time
				joda-time
				${joda-time.version}
			
			
			
				org.apache.commons
				commons-lang3
				${commons-lang3.version}
			
			
				org.apache.commons
				commons-io
				${commons-io.version}
			
			
				commons-net
				commons-net
				${commons-net.version}
			
			
			
				com.fasterxml.jackson.core
				jackson-databind
				${jackson.version}
			
			
			
				org.apache.httpcomponents
				httpclient
				${httpclient.version}
			
			
			
				junit
				junit
				${junit.version}
				test
			
			
			
				org.slf4j
				slf4j-log4j12
				${slf4j.version}
			
			
			
				org.mybatis
				mybatis
				${mybatis.version}
			
			
				org.mybatis
				mybatis-spring
				${mybatis.spring.version}
			
			
				com.github.miemiedev
				mybatis-paginator
				${mybatis.paginator.version}
			
			
				com.github.pagehelper
				pagehelper
				${pagehelper.version}
			
			
			
				mysql
				mysql-connector-java
				${mysql.version}
			
			
			
				com.alibaba
				druid
				${druid.version}
			
			
			
				org.springframework
				spring-context
				${spring.version}
			
			
				org.springframework
				spring-beans
				${spring.version}
			
			
				org.springframework
				spring-webmvc
				${spring.version}
			
			
				org.springframework
				spring-jdbc
				${spring.version}
			
			
				org.springframework
				spring-aspects
				${spring.version}
			
			
				org.springframework
				spring-context-support
				${spring.version}
			
			
			
				jstl
				jstl
				${jstl.version}
			
			
				javax.servlet
				servlet-api
				${servlet-api.version}
				provided
			
			
				javax.servlet
				jsp-api
				${jsp-api.version}
				provided
			
			
			
				commons-fileupload
				commons-fileupload
				${commons-fileupload.version}
			
			
			
				redis.clients
				jedis
				${jedis.version}
			
			
			
				org.apache.solr
				solr-solrj
				${solrj.version}
			
			
				org.freemarker
				freemarker
				${freemarker.version}
			
			
				org.quartz-scheduler
				quartz
				${quartz.version}
			
		
	
 
	
		${project.artifactId}
		
			
			
				org.apache.maven.plugins
				maven-resources-plugin
				2.7
				
					UTF-8
				
			
			
			
				org.apache.maven.plugins
				maven-compiler-plugin
				3.2
				
					1.7
					1.7
					UTF-8
				
			
		
		
			
				
				
					org.apache.tomcat.maven
					tomcat7-maven-plugin
					2.2
				
			
		
	
  
完成后,我们Ctrl+S一下,然后就是耐心等待,如果网速快的话,这些jar包很快就会下载到本地仓库:

 

Spring+Mybatis+Spring MVC框架整合(一)_第11张图片

4、再创建一个Pom类型的Maven Project 继承ssm-parent:

Spring+Mybatis+Spring MVC框架整合(一)_第12张图片

Spring+Mybatis+Spring MVC框架整合(一)_第13张图片

 

5、右键选择ssm-web,我们为其创建一个Maven Module,类型为War,也就是web工程最终打包方式为war包,tomcat启动时,会自动解压war包:

Spring+Mybatis+Spring MVC框架整合(一)_第14张图片

Spring+Mybatis+Spring MVC框架整合(一)_第15张图片

Spring+Mybatis+Spring MVC框架整合(一)_第16张图片

6、在我们的ssm-web-test下面创建一个web.xml(eclipse自动完成)和一个index.jsp

(1)创建web.xml:

Spring+Mybatis+Spring MVC框架整合(一)_第17张图片

我们右击项目:

完成后:

Spring+Mybatis+Spring MVC框架整合(一)_第18张图片

然后我们在webapp下面创建一个index.jsp,创建前,记得将jsp文件的编码改为UTF-8:

Spring+Mybatis+Spring MVC框架整合(一)_第19张图片

 

此时,我们需要修改ssm-web-test的pom文件,添加相关jar包依赖:


  4.0.0
  
    com.ssm
    ssm-web
    0.0.1-SNAPSHOT
  
  ssm-web-test
  war
  
	
	
			
				org.mybatis
				mybatis
			
			
				org.mybatis
				mybatis-spring
			
		
			
				mysql
				mysql-connector-java
			
			
			
				com.alibaba
				druid
			
			
			
				org.springframework
				spring-context
			
			
				org.springframework
				spring-beans
			
			
				org.springframework
				spring-webmvc
			
			
				org.springframework
				spring-jdbc
			
			
				org.springframework
				spring-aspects
			
			
				org.springframework
				spring-context-support
				
		
		
			jstl
			jstl
		
		
			javax.servlet
			servlet-api
			provided
		
		
			javax.servlet
			jsp-api
			provided
		
		
		
			junit
			junit
		
	 
 

7、运行测试我们的ssm-web-test项目

Spring+Mybatis+Spring MVC框架整合(一)_第20张图片

Spring+Mybatis+Spring MVC框架整合(一)_第21张图片

提示我们找不到ssm-parent:pom工程,这时候,我们需要将ssm-parent(集中管理jar包)安装到本地仓库:

Spring+Mybatis+Spring MVC框架整合(一)_第22张图片

我们再次运行ssm-web-test:

Spring+Mybatis+Spring MVC框架整合(一)_第23张图片

打开浏览器,输入 http://localhost:8080/ssm-web-test/

Spring+Mybatis+Spring MVC框架整合(一)_第24张图片

如果想要直接输入http://localhost:8080就可以跳转到index.jsp页面,我们需要修改ssm-web的pom文件如下(增加一个tomcat插件):

 



  4.0.0
  
    com.ssm
    ssm-parent
    0.0.1-SNAPSHOT
  
  ssm-web
  pom
  
  	ssm-web-test
  
 
	
		
			
				org.apache.tomcat.maven
				tomcat7-maven-plugin
				
					8080
					
					/
				
			
		
	

我们再次运行ssm-web-test如下:

 

Spring+Mybatis+Spring MVC框架整合(一)_第25张图片

换个浏览器直接输入http://localhost:8080

 

 

至此我们整个聚合项目算是测试完成了,由于篇幅较长,关于SSM整合部分我们放到下一篇再讲。

你可能感兴趣的:(Spring,ssm,框架)