前言
本文主要整理记录一些学习SSM框架整合的笔记和心得,谢谢支持~
什么是SSM框架?
SSM框架即指Spring+SpringMVC+MyBatis的简称,相比于之前的SSH(Struts+Spring+Hibernate),SSM更加轻量化和灵活,是目前比较主流的java web开发框架。
SSM框架的组成?
(1)Spring
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
(2)SpringMVC
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
(3)MyBatis
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
Maven
一个项目管理工具,简单的理解为一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。
环境准备,正式开始
1.java环境的安装和配置
2.Maven环境的安装和配置
3.IDE:IntelliJ IDEA(这里出于个人喜好,选用IntelliJ IDEA用于讲解)
搭建SSM框架
一. 创建Maven项目
-
File -> New project,进入创建项目窗口,选择Maven项目。
(1)勾选Create from archetype
(2)选择 maven-archetype-webapp
(3)点击Next
-
输入GroupId和Artifactld,点击Next
-
选择Maven home directory为maven安装路径,点击Next
输入Project name,点击Finish,完成Maven项目的创建
二.项目配置文件
1、pom.xml
创建Maven项目成功后工程结构如下,其中pom.xml为工程的项目对象模型,可以理解为工程的说明文件,主要描述工程信息、依赖对象、构建方式等等信息。
在pom.xml中添加SSM框架相关jar包的依赖关系,pom.xml代码如下(更具不同情况修改jar及版本):
4.0.0
com.demo
ssm-demo
war
1.0-SNAPSHOT
ssm-demo Maven Webapp
http://maven.apache.org
UTF-8
UTF-8
4.2.5.RELEASE
3.2.8
5.1.29
1.7.18
1.2.17
jstl
jstl
1.2
javax
javaee-api
7.0
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-context
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-aop
${spring.version}
org.springframework
spring-test
${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
com.alibaba
fastjson
1.1.41
log4j
log4j
${log4j.version}
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
org.codehaus.jackson
jackson-mapper-asl
1.9.13
com.fasterxml.jackson.core
jackson-core
2.8.0
com.fasterxml.jackson.core
jackson-databind
2.8.0
commons-fileupload
commons-fileupload
1.3.1
commons-io
commons-io
2.4
commons-codec
commons-codec
1.9
ssmdemo
2、 添加SSM框架相关配置文件(根据本身环境配置)
(1)、在resources
文件夹下依次创建jdbc.properties
、log4j.properties
、spring-mvc.xml
、spring-mybatis.xml
四个空文件
(2)、依次将jdbc.properties
、log4j.properties
、spring-mvc.xml
、spring-mybatis.xml
代码填入相应文件
jdbc.properties
driverClasss=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/ssm_db?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
username=root
password=root
#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间
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=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%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][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n
spring-mvc.xml
text/html;charset=UTF-8
spring-mybatis.xml
(3)、在webapp文件夹下的WEB-INF文件夹下修改web.xml
为以下内容:
web.xml
ssm-demo
contextConfigLocation
classpath:spring-mybatis.xml,
classpath:log4j.properties
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
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
15
总结
此处创建Maven工程和SSM框架所需的基本配置都已经完成了。
接着讲解SSM框架的基本工程结构的搭建。
下篇文章将接着讲解SSM框架的基本工程结构的搭建。如何使用Maven搭建SSM框架(2)
感谢
感谢Wwwwei作者的文章,如何使用Maven搭建SSM框架(1)对我有很大的启发。