- 温馨提示
- 简单介绍下SSM
- 搭建过程
- 一、框架介绍
- 二、下载Maven
- 三、创建Maven项目
- 四、Maven工程需要引入的Jar 包
- 五、整合SSM框架、需要的相关配置文件配置项目
- 六、工程导入Jar包及配置 tomcat
- 七、使用MyBatis的逆向工程(Generator)
- 八、建立Service层以及conrorller层
- 九、运行测试
- 总结
温馨提示
此篇文章篇幅较长,相信我看了这篇文章你一定会撸起码来行云流水,事半功倍,无懈可击,请耐心阅读。
超级超级超级详细!
干货!干货!干货!
简单介绍下SSM
SSM
(Spring
+SpringMVC
+Mybatis
),目前较为主流
的企业级架构方案。标准的MVC设计模式
,将整个系统划分为显示层、Controller层、Service层、Dao层四层,使用SpringMVC负责请求的转发和视图管理,Spring实现业务对象管理,MyBatis作为数据对象持久化引擎。
搭建过程
一、框架介绍
-
Spring
Spring
是一个开源框架
,它由Rod Johnson
创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单说,Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
-
SpringMVC
SpringMVC
是一种基于Java的实现MVC设计模式的请求驱动类型的轻量级Web框架
,使用了MVC架构模式的思想
,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发。 -
MyBatis
MyBatis
是一款优秀
的持久层框架
,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集
。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
二、下载Maven
-
下载地址 :
https://maven.apache.org/download.cgi
-
解压下载的安装包,我将安装包解压在我的目录下,解压好了以后,并创建好本地仓库
mavenrepository
目录。 -
修改maven的配置文件,进入刚解压的的
maven文件夹
目录,进入conf
,使用编辑器打开settings.xml
文件,我这里使用的BBEdit
,window的可以使用EditPlus
-
打开以后,配置本地仓库路径,不使用默认的maven仓库,配置
maven仓库下载国内的镜像源
,不然下载特别慢,有时候还会出现下载jar包失败,如下图配置,修改自己电脑对应的路径。 -
maven 仓库路径
/Users/wht/maven/mavenrepository
- 阿里的镜像仓库
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
- maven的下载和配置就完成了,接下来我们就去创建项目了。
三、创建Maven项目
-
首先打开
IDEA
,点击Create New Project
-
找到
Maven
点击下 ,然后直接点击Next
-
填写相应的信息,
Groupid
是项目组织唯一的标识符,实际对应JAVA的包的结构。Artifactid
就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。 -
填好后,直接点击
Next
-
继续点击
Finish
-
接下来建好的项目目录就展示在我们眼前,你会发现这里面没有
webapp
。 -
接下来因为我们创建的是
maven
项目,所以我们要在IDEA中配置一下maven的仓库
,本人用的 MacBook,可能界面会跟 Windows 有点差别,但是界面都是有功能的,点击左上角的IntelliJ IDEA
,找到Preferences...
,点击进入 -
进入设置界面左上角搜索
maven
,进入maven 设置界面 -
注意⚠️
前提是你必须下载了maven
-
接下来点击黄色框区域后面的
省略号 ...
找到自己电脑上下载的maven文件夹,选中,点击OK。 -
这时候可以看到下图,已经设置成功,并且我的maven仓库路径也会随之改变。因为我配置了自己的
settings.xml
文件。 -
接下来我们修改
IDEA
中的maven默认的settings.xml
配置文件为自己本地的配置文件,根据图中操作步骤修改。 -
接下来
idea
的项目需要手动配置,本人用的 MacBook,可能界面会跟 Windows 有点差别,但是界面都是有功能的,点击左上角File
,找到Project Structure...
点击进入项目配置 -
点击
Project
,选择自己电脑的JDK
,我这里是使用的是jdk1.8
,下面的也要选择8 - Lambdas, ...
-
接下来配置
Modules
, 点击Modules
,点击自己的项目, 然后点击“ + ”
号,下拉找到Web
点击。 -
接下来配置
Web
,点击Deployment Descriptors
下的路径选中,点击修改图标 -
接下来将路径改为下图路径,点击OK
-
修改之后你会看到上面的路径已经修改成功了。 接下来点击下面的
Web Resoure Directories
点击修改图标 -
同样将原路径改为下图路径,点击OK
-
修改完成之后,会看到以下画面。看到下面的黄色感叹图标,点击右下角的
Create Artifacet
点击。会自动给Artifacet
添加Web exploded
-
接下来点击
Apply
点击OK
。 -
返回编辑界面,如下图,会发现 与之前的刚创建的项目截图对比,这里多出了
webapp
文件夹,并且中间有个蓝色小圈
和web.xml
,表示创建成功了。 -
刚创建的项目截图
-
配置后的项目截图
四、Maven工程需要引入的Jar 包
pom.xml
4.0.0
com.top
ssmDemo
1.0-SNAPSHOT
UTF-8
yyyyMMddHHmmss
3.2.9.RELEASE
3.1.1
1.1.1
com.github.pagehelper
pagehelper
5.0.0
org.springframework
spring-webmvc
${spring.version}
com.fasterxml.jackson.core
jackson-databind
2.8.8
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-test
${spring.version}
org.springframework
spring-aspects
${spring.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
${mybatisspring.version}
com.alibaba
druid
1.1.10
mysql
mysql-connector-java
5.1.41
javax.servlet
javax.servlet-api
3.0.1
provided
junit
junit
4.12
log4j
log4j
1.2.16
org.apache.poi
poi
3.9
com.alibaba
fastjson
1.2.47
org.jetbrains
annotations
RELEASE
compile
ssmDemo
五、整合SSM框架、需要的相关配置文件配置项目
-
web.xml
修改
webapp
下的WEB-INF
下的web.xml
contextConfigLocation
classpath:/spring/beans_core.xml
org.springframework.web.context.ContextLoaderListener
org.springframework.web.util.IntrospectorCleanupListener
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:/springmvc/springmvc.xml
springmvc
/
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
encodingFilter
/*
login.jsp
-
Spring的配置文件
我这里起名为
beans_core.xml
helperDialect=mysql
reasonable=true
supportMethodsArguments=true
params=count=countSql
autoRuntimeDialect=true
-
SpringMVC的配置文件
我这里命名为
springmvc.xml
为了代替手工使用
SqlSessionDaoSupport
或SqlSessionTemplate
编写数据访问对象 (DAO)的代码,MyBatis-Spring
提供了一个动态代理的实现:MapperFactoryBean
。这个类可以让你直接注入数据映射器接口到你的service 层 bean
中。当使用映射器时,你仅仅如调 用你的DAO
一样调用它们就可以了,但是你不需要编写任何DAO 实现
的代码,因为MyBatis-Spring 将会为你创建代理。
-
MyBatis 的配置文件
我这里命名为
sqlMapConfig.xml
日志配置文件
log4j.properties
# Global logging configuration\uff0c\u5efa\u8bae\u5f00\u53d1\u73af\u5883\u4e2d\u8981\u7528debug
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
数据库配置文件
jdbc.properties
url:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
driverClassName:com.mysql.jdbc.Driver
jdbc_username:root
jdbc_password:123
filters:stat
maxActive:20
initialSize:1
maxWait:60000
minIdle:10
maxIdle:15
timeBetweenEvictionRunsMillis:60000
minEvictableIdleTimeMillis:300000
validationQuery:SELECT 'x'
testWhileIdle:true
testOnBorrow:false
testOnReturn:false
maxOpenPreparedStatements:20
removeAbandoned:true
removeAbandonedTimeout:1800
logAbandoned:true
六、工程导入Jar包及配置 tomcat
-
接下来点击左上角
File
,找到Project Structure...
点击进入项目配置,找到Libraries
,进入查看,你会发现你pom.xml
导入的maven jar包
已经下载完毕。 -
继续点击
Artifacts
,会发现Available ...
也有maven的jar包 -
接下来看图中操作步骤操作
-
右击
ssmDemo
文件夹,点击Put into Output Root
-
这时候你看发现如下图所示的变化
-
然后jar包已经全部部署在
WEB-INF
的lib
目录下,接下来先点击Apply
再点击OK
。 -
接下来我们来 配置
tomcat
,点击OK 后,进入编辑区 点击"Add Config..."
-
点击添加图标
➕
-
一直下拉找到
Tomcat Server
选中Local
,会进入下图的界面。 -
接下来编辑
tomcat
配置,根据图中操作步骤,来配置。 -
这时候观察
tomcat
已经配置完成。
七、使用MyBatis的逆向工程(Generator)
-
MyBatis的Generator可以自动创建实体类、Mapper映射文件以及DAO接口
-
MyBatis的逆向工程 有三种:
命令行、eclipse插件、maven插件。
-
我这里使用
maven插件
-
Eclipse与IDEA都可以使用,咱们这里的教程就使用IDEA吧
在pom.xml
中添加plugin
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.2
src/main/resources/mybatis-generator/generatorConfig.xml
true
true
Generate MyBatis Artifacts
generate
org.mybatis.generator
mybatis-generator-core
1.3.2
-
generatorConfig.xml
的位置,我这里是放在src/main/resources/mybatis-generator/generatorConfig.xml
,大家可以自己调整路径。 -
generatorConfig.xml配置文件
-
配置完成后如下图
-
点击
mybatis-generator:generate
会自动生成实体类、Mapper映射文件以及DAO接口
,看如下图图片。 -
我习惯将逆向生成的
** Mapper.xml
文件放在配置文件resources
的mybatis
下的mapper
文件夹下,如下图。 -
逆向工程生成代码就已经完成了,是不是很 Nice 啊,快去试一试咯
八、建立Service层以及conrorller层
Service层接口
package com.top.service;
import com.top.bean.Test;
public interface TestService {
Test login(String name, String password);
}
Service层 接口实现类
package com.top.service;
import com.top.bean.Test;
import com.top.mapper.TestMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class TestServiceImpl implements TestService {
@Autowired
private TestMapper testMapper;
@Override
public Test login(String name, String password) {
return testMapper.login(name, password);
}
}
Controller层
package com.top.controller;
import com.alibaba.fastjson.JSON;
import com.top.bean.Test;
import com.top.service.TestService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.ArrayList;
import java.util.Map;
@Controller
@RequestMapping("/test")
public class TestController {
@Autowired
private TestService testService;
@RequestMapping("login")
public String login(String name ,String password){
Test login = testService.login(name, password);
if (login != null ) {
return "redirect:/index.jsp";
} else {
return "redirect:/login.jsp";
}
}
}
数据库大家自己创建,这里就不详细创建了,页面我这里这是简单的写了一个登录的页面
切记一定要创建数据库并将 数据库配置文件的数据库名称
改为 自己创建的名称
九、运行测试
总结
到此为止,整个SSM
项目就完美的整合完成了。如自己还有什么需求可以在此基础上继续编写,如需还有什么问题可在下方评论。谢谢
希望可以帮助到更多的学者,后续也会更新很多文章,想要了解学习的可以持续关注下哟别着急,还有更多的秘密和有趣的代码等着你来探索!
分享嗨起来,美德传起来,点个星标从此探索之路不迷茫!
微信扫描二维码,关注我的原创日更公众号,可以查看更多程序的秘密!