GitHub: 代码连接.
https://github.com/17639622607/springshiro
前言
这个项目十分简单,是一个纯粹的后端原型,所以学习时不用有什么压力,估计你们学的比我快很多。我的目的也是让自己有深刻印象的情况下,也能帮助小伙伴们的学习,共同进步。
项目概述
由于是出的shiro+springboot的教程,所以前端的话大家选择什么框架无所谓,本文章中,我采用的是一套封装好的BootStarp框架,项目中有封装好的一些功能,大家随后会见到。由于写这个文章的目的是为了梳理一遍知识点,所有完整的代码随后再发到GitHub上,也就是说,每一章,我们的进度都是同步的。好了,话不多说,我们进入项目技术栈
前端
1.底层是BootStrap,不会的小伙伴也没关系,shiro会了之后用layui也可,此项目中只是为了展示数据
后端
1.springboot
2.spring-data jpa 牵扯的sql语句太多,都贴出来恐怕太啰嗦,还有就是我懒,一些常用的增删改查的sql语句可以调jpa
(一)项目成果展示
各个页面的成果图大概如下:登录界面
admin用户菜单管理界面
test用户菜单管理界面执行删除菜单操作(缺少权限的情况下)
admin角色管理界面
好了,这是我以前做好的效果,这次文章的开始也意味着,我肯定要和大家一起重头再做一遍喽,哈哈
(二)项目的创建
首先我们先使用IDEA创建一个springboot的项目,这个用不用多说了吧,走起
# 开发环境配置
server.port=8888
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springshiro?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.thymeleaf.cache=false
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.mode=HTML
spring.jpa.hibernate.ddl-auto = none
pom配置目前如下,后期再一点一点添加
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--jpa-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
下面我们将前端模板先复制到本项目中【前端模板文件后期会同本项目传到GitHub上】
因为现在我们还没设计数据库以及后端的一些实体类,先把项目跑起来,前端模板调通。写一个请求地址,映射index界面
@GetMapping("/index")
public String index(){
return "index";
}
@GetMapping("/system/main")
public String main(){
return "main";
}
目前项目跑起来大概是这样的,是不是离成果图又近了一步,