使用Spring、SpringMvc、MyBatis搭建SSM框架
作者:阿钟程序猿
博客:http://blog.****.net/a_zhon
声明:本文由作者授权发布,未经原作者允许请勿转载
SpringMvc架构流程图
博客中使用到的jar文件 在文末Demo中会给出
1、带你一步步使用IntelliJ IDEA开发神器创建一个空白的Web Application项目 配置SSM web项目框架
2、我们需要添加必要的jar(包括:Spring(包括SpringMvc)、MyBatis、MyBatis-Spring整合包、数据库驱动、第三方连接池)
在与src同级的目录下创建一个libs目录用来放.jar文件, 对于web项目感觉就是jar包一顿拷贝 粘贴。
jackson-annotations-2.4.0、jackson-core-2.4.2、jackson-databind-2.4.2返回json数据支持。
mysql-connector-java-5.1.7-bin 数据库驱动包。
log4j-1.2.17、log4j-api-2.0-rc1、log4j-core-2.0-rc1、slf4j-api-1.7.5、slf4j-log4j12-1.7.5 log4j 日志框架包。
依赖jar 如下图:右键Add As Library
当 依赖jar包之后(或者移除一个jar包) 记得进入项目设置 查看依赖的jar是否需要添加至:artifact;只要点击Fix 选择第一个即可
使用Spring MVC 实现文件上传遇到的问题以及解决方案:
http://blog.****.net/a_zhon/article/details/78566149
3、创建项目的目录结构 其中 controller、dao、pojo(简单的Java对象(Plain Old Java Object)、service 为必需的目录结构 其他的就看你自己创建了。
4、接下来就是配置 配置 配置 创建一堆配置文件;在src同级目录下创建一个config目录专门用来存放配置文件。
这里需要将这个文件夹设为资源文件夹,在文件夹上右键如下操作:
-
首先配置Dao层:
MyBatis配置sqlMapConfig.xml 空文件即可 需要文件头
配置数据库连接 db.properties jdbc驱动 地址 用户名 密码
配置applicationContextDao.xml,让spring管理sql session factory 使用mybatis和spring整合包中的、配置Mapper扫描器
配置Service层:
applicationContextService.xml 配置包扫描器,扫描@Service注解的类。
applicationContextTrans.xml 配置事务
配置表现层
springMvc.xml 自动配置最新版的处理器映射器和处理器适配器、配置@Controller注解扫描
视图解析器 可以配置 也可以不配置、当你项目用的都是同一种文件类型的时候你可以配置 可以很方便的使用。当你同时用到了 .html .jsp文件的时候这个就没什么用了,所以我在项目中就直接注释了。
配置log4j2.properties日志,更多的配置可以前往官网或者百度查找。
5、来看下config的最终样子
6、配置前端控制器web.xml 文件位于项目的/web/WEB-INF/下
在上面我配置了项目一启动的时候加载login.html这个文件(这是我在网上找的一个登录模版),你这里就可以在/web目录下随便创建一个空白的html文件或者jsp文件 替换就好了。
7、配置Tomcat服务器 我这里使用的是v7.0.82,如下图操作:
1、进入项目设置
2、添加一个Tomcat
3、在Application server处 配置本地Tomcat路径,点击Fix 然后 点击OK就添加成功了
8、经过了上面一大堆的配置现在项目终于可以run起来了,点击下图的绿色三角 然后静静地等待就行了。
启动的效果图:
9、项目可以跑起来了 那就开始处理需求和逻辑了,这里我们来实现这个登录的功能 看下目录结构:
10、首先通过数据库 MyBatis****生成 dao 和 pojo 层文件 (下面的jar文件 会在最后Demo下载中给出)
我的数据库表结构(sql文件Demo转会给出):
generatorConfig.xml文件配置
文件中有注释的地方都是需要修改的地方,执行如下命令进行文件生成:
在 cmd/Terminal 中进入到generatorConfig.xml文件夹目录下 执行如下命令:
Java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite
11、现在就只剩Service和Controller中的代码编写了,那就先来写Service层:
Service层:
LoginService.java 定义一个接口 编写一个根据用户名 密码查询数据库的方法
LoginServiceImpl.java 实现接口的方法,编写数据查询。千万别落了@Service注解
Controller层:方法上的参数也就是 网页表单提交传输过来的参数 名字要一一对应
LoginController.java 处理用户请求,千万别落了@Controller注解
注意:当如果想返回一串JSON数据给用户时我们需要在方法上添加@ResponseBody注解,如下代码:
请求的效果图:
Demo下载:http://download.****.net/download/a_zhon/10137481
一命二运三风水,四修阴德五读书!
刘桂林
微信号 : Android_LiuGuiLin
新浪微博:@刘某人程序员