SSM整合之企业级后台管理系统(8) - Maven项目整合框架Spring+SpringMVC+MyBatis+Shiro+Log4j

本教程详述如何在Maven项目中整合Spring、SpringMVC、MyBatis、Shiro和Log4j,形成后台管理系统。通过配置文件和用户类实现,展示查询用户表并返回前端的过程。
摘要由CSDN通过智能技术生成

“纸上得来终觉浅,绝知此事要躬行”

                                         ------陆游

经过前面教程的层层铺垫,我们来到了整合SSM框架(SSM: Spring SpringMVC MyBatis)的关键一步。本篇教程将给大家介绍如何在上一篇教程创建的Maven项目中,一步步整合Spring+SpringMVC+MyBatis+Shiro+Log4j框架。整合完成以后,能查询到数据库中用户表的详细字段信息并返回到前端页面上即为成功。

项目目录和框架整合完成后的演示:

 

一、写在前面

本篇教程是教程系列《SSM整合之企业级后台管理系统》中的第8篇,前面教程介绍了搭建集成开发环境、项目使用的技术和使用GitHub托管项目代码相关的内容,后续将继续介绍如何搭建一个企业级的后台管理系统,包括前端和后端实现。

温馨提示:本篇教程涉及的框架和配置文件都比较多,整合起来比较复杂,在学习过程中遇到项目启动报错或其它问题都属于比较正常的现象,希望同学们遇到问题时不要气馁和放弃,要根据报错信息查找问题所在。

在学习本系列过程中,有任何疑问或不明白的地方欢迎加qq群和我交流:584017112

 

二、整合顺序

我们按照以下顺序逐个添加或完善配置文件内容:

  1. pom.xml(配置项目依赖库)
  2. web.xml(配置项目启动加载文件)
  3. spring-mvc.xml(配置SpringMVC)
  4. jdbc.properties(数据库连接信息)
  5. spring-mybatis.xml(配置MyBatis连接数据库)
  6. spring-shiro.xml(配置Shiro)
  7. XBasicDataSource.java(关闭数据库资源)
  8. MyShiroDbRealm.java(Shiro验证登录方法)
  9. log4j.properties(配置系统日志)

还有用于测试的用户类相关实现:

  1. User.java
  2. UserDao.java
  3. UserMapper.xml
  4. IUserService.java
  5. UserServiceImpl.java

以及,数据库中新建User表并插入一条数据:

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `username` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名',
  `password` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码',
  `status` enum('IN_USE','LOCKED') CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'IN_USE' COMMENT '用户状态 IN_USE=使用中 LOCKED=锁定',
  `email` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
  `cname` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '中文名',
  `mobile` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号',
  `profile` mediumblob NULL COMMENT '用户头像',
  `create_time` timestamp(0) NOT NULL COMMENT '创建时间',
  `last_login_time` timestamp(0) NULL DEFAULT NULL COMMENT '最后一次登录时间',
  `valid_until_time` date NULL DEFAULT NULL COMMENT '有效期止',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `username`(`username`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

INSERT INTO `user` VALUES (1, 'admin', '202cb962ac59075b964b07152d234b70', 'IN_USE', 'yoccoo@126.com', '超级管理员', '18712345678', null, '2019-07-09 16:11:44', '2019-09-26 09:50:03', '2099-12-31');

三、配置文件详情

1. pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>uchan-group</groupId>
  <artifactId>OMS</artifactId>
  <version>1.0-SNAPSHOT</version>
  <name>OMS Maven Webapp</name>
  <url>http://maven.apache.org</url>

  <properties>
    <!-- spring版本号 -->
    <spring.version>4.3.17.RELEASE</spring.version>
    <!-- mybatis版本号 -->
    <mybatis.version>3.2.6</mybatis.version>
    <!-- log4j日志文件管理包版本 -->
    <slf4j.version>1.7.7</slf4j.version>
    <log4j.version>1.2.17</log4j.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <!-- 表示开发的时候引入,发布的时候不会加载此包 -->
      <scope>test</scope>
    </dependency>

    <!-- spring核心包 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-oxm</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <!-- mybatis核心包 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>${mybatis.version}</version>
    </dependency>
    <!-- mybatis/spring包 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.2.2</version>
    </dependency>

    <!-- 导入java ee jar 包 -->
    <dependency>
      <groupId>javax</groupId>
      <artifactId>javaee-api</artifactId>
      <version>7.0</version>
    </dependency>

    <!-- 导入Mysql数据库链接jar包 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.47</version>
    </dependency>
    <!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->
    <dependency>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
      <version>1.2.2</version>
    </dependency>

    <!-- JSTL标签类 -->
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值