简单介绍
本系列博客开始讲解如何从头开始开发出一个属于自己的简单系统,本文是以社团管理系统为例,用于熟悉各项技术以及分享一些心得。
环境准备
博主使用的是IDEA开发工具,Oracle数据库,JDK1.8
前端
前端主要使用的是Layui开发,当然也用到了jquery,ajax等基本交互。前端使用了Layui后台示例模板(其实大部分都是在官方示例东拼西凑的,哈哈哈哈。。。。附上地址layui官方示例)
后台
后台主要使用SpringBoot(2.2.1)集成Spring/SpringMVC/MyBatis-Plus/Shiro这四大框架,使用Druid连接数据库。如有对Mp不熟悉的同学也可以去官方看文档,看文档学习真的挺不错。
注:后台大部分代码是用MP(MyBatis-Plus)代码生成器生成的
数据库
数据库采用的是Oracle,当然也有Mysql,两者数据库我都用了,反正区别不是很大,但是也有点小区别,比如大小写就让你十分头疼,当然这需要你敲代码的时候严格要求自己啦。
系统介绍
社团管理系统功能点比较少,但是用的技术还是都有的。
-
主要有社团的添加(其中社团没做申请流程,由后台管理员添加进行管理)。
-
其次是主要两大流程:一是社团成员添加(社长)——>进入成员审批(审批未通过前不可以做操作,审批可以选择通过或者驳回,驳回需要填写驳回理由,通过后,社长角色才可以对自己社团成员做操作,此处需注意社长角色是只能看见自己社团的成员,无权看其他社团的成员数据及操作),二是活动申请,其流程跟社团成员审批相类似,就不介绍了。
-
后台管理可以对后台用户进行管理,这里也做了一个小功能(切面记录用户操作日志),还有就是动态控制班级院系的数据
结语
以上就是简单对系统的大致介绍,然后上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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/>
</parent>
<groupId>com.xxx</groupId>
<artifactId>community</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>community</name>
<description>社团管理系统</description>
<!--jar包统一管理-->
<properties>
<java.version>1.8</java.version>
<druid.version>1.1.1</druid.version>
<hutool.version>5.1.1</hutool.version>
<mybatis-plus.version>2.1.4</mybatis-plus.version>
<mybatis-plus.generator.version>3.1.0</mybatis-plus.generator.version>
<mybatisplus-spring-boot-starter.version>1.0.5</mybatisplus-spring-boot-starter.version>
</properties>
<dependencies>
<!--数据库连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
<!--工具类-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
<!--web启动,自带的日志打印去除-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<!--mysql连接-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--oracle连接-->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.4.0</version>
</dependency>
<!--插件,记得idea下载lombok插件,不然识别不了-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--服务器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!--邮件发送-->
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
<!--mybatis-plus配置-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatisplus-spring-boot-starter</artifactId>
<version>${mybatisplus-spring-boot-starter.version}</version>
</dependency>
<!-- mybatis plus 代码生成器依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>${mybatis-plus.generator.version}</version>
</dependency>
<!-- 代码生成器模板 -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
<!--shiro权限拦截-->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--支持shiro的切面-->
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.9</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.8.9</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</pluginRepository>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>