【极简版】SpringBoot+SpringData JPA 管理系统

简介: 前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 在上一篇中已经讲解了如何从零搭建一个SpringBoot+SpringData JPA的环境,测试接口的时候也成功获取得到数据了。

前言

只有光头才能变强。

文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y

在上一篇中已经讲解了如何从零搭建一个SpringBoot+SpringData JPA的环境,测试接口的时候也成功获取得到数据了。

我的目的是做一个十分简易的管理系统,这就得有页面,下面我继续来讲讲我是怎么快速搭一个管理系统的。

ps:由于是简易版,我的目的是能够快速搭建,而不在于代码的规范性。(所以在后面你可能会看到很多丑陋的代码)

一、搭建管理系统

1.1. 搭建页面

在上一篇的最后,我们可以通过http://localhost:8887/user接口拿到我们User表所有的记录了。我们现在希望把记录塞到一个管理页面上(展示起来)。

作为一个后端,我HTML+CSS实在是丑陋,于是我就去找了一份BootStrap的模板。首先,我进到bootStrap的官网,找到基本模板这一块:

bootStrap

我们在里边可以看到挺多的模板的,这里选择一个控制台页面:

bootstrap example

于是,就把这份模板下载下来,在本地中运行起来试试看。官方给出的链接是下载整一份文档,我们找到想要的页面即可:

files

于是我们将这两份文件单独粘贴在我们的项目中,发现这HTML文件需要bootstrap.css、bootstrap.js、jquery 的依赖(原来用的是相对路径,其实我们就是看看相对路径的文件在我们这有没有,如果没有,那就是我们需要的)。这里我们在CDN中找找,导入链接就行了。

bootcdn

于是我们就将所缺的依赖替换成BootCDN的依赖,最重要的几个依赖如下:

<link href="https://cdn.bootcss.com/twitter-bootstrap/3.4.0/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>

如无意外的话,我们也能在项目中正常打开页面。

1.1.2 把数据塞到页面上

把数据塞到页面上,有两种方案:要么就后端返回json给前端进行解析,要么就使用模板引擎。而我为了便捷,是不想写JS代码的。所以,我使用freemarker这个模板引擎。

  • 为什么这么多模板引擎,我选择这个?因为我只会这个!

在SpringBoot下使用freemarker也是非常简单,首先,我们需要加入pom文件依赖:

<!--freemarker-->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

随后,在application.yml文件中,加入freemarker的配置:

  # freemarker配置
  freemarker:
    suffix: .ftl
    request-context-attribute: request
    expose-session-attributes: true
    content-type: text/html
    check-template-location: true
    charset: UTF-8
    cache: false
    template-loader-path: classpath:/templates

这里我简单解释一下:freemarker的文件后缀名为.ftl,程序从/templates路径下加载我们的文件。

于是乎,我将本来是.html的文件修改成.ftl文件,并放在templates目录下:

templates

接下来将我们Controller得到的数据,塞到Model对象中:

    /**
     * 得到所有用户
     */
    @GetMapping(value = "/user", produces = {"application/json;charset=UTF-8"})
    public String  getAllUser ( Model model) {
        List<User> allUser = userService.getAllUser();
        model.addAttribute("users", allUser);
        return "/index";
    }

图片如下:

user code

在ftl文件中,我们只要判断数据是否存在,如果存在则在表格中遍历出数据就行了:

   <#if users?? && (users?size > 0)>
     <#list users as user>
       <tr>
         <td>${user.userId}</td>
         <td>${user.userNickname}</td>
         <td>${user.userEmail}</td>
         <td>${user.actiState}</td>
         <td><a href="http://localhost:8887/deleteUser?id=${user.userId}">删除</a></td>
       </tr>
       </#list>
     <#else>
       <h3>还没有任何用户</h3>
   </#if>

图片如下:

code image

删除的Controller代码如下:

/**
 * 根据ID删除某个用户
 */
@GetMapping(value = "/deleteUser", produces = {"application/json;charset=UTF-8"})
public String  deleteUserById (String id,Model model) {

  userService.deleteUserById(id);
  return getAllUser(model);

}

我们再找几张自己喜欢的图片,简单删除一些不必要模块,替换成我们想要的文字,就可以得到以下的效果了:

result iamge

至于图片上的评论管理、备忘录管理的做法都如上,我只是把文件再复制一次而已(期中没有写任何的JS代码,懒)。

在编写的期中,要值得注意的是:静态的文件一般我们会放在static文件夹中。

项目的目录结构如下:

project structure

最后

本文涉及到的链接(bootstrap & cdn):

觉得我的文章写得不错,不妨点一下

目录
相关文章
|
3天前
|
Web App开发 编解码 Java
B/S基层卫生健康云HIS医院管理系统源码 SaaS模式 、Springboot框架
基层卫生健康云HIS系统采用云端SaaS服务的方式提供,使用用户通过浏览器即能访问,无需关注系统的部署、维护、升级等问题,系统充分考虑了模板化、配置化、智能化、扩展化等设计方法,覆盖了基层医疗机构的主要工作流程,能够与监管系统有序对接,并能满足未来系统扩展的需要。
25 4
|
1月前
|
安全 前端开发 Java
基于springboot的微信公众号管理系统(支持多公众号接入)
基于springboot的微信公众号管理系统(支持多公众号接入)
36 2
|
1月前
|
存储 前端开发 Java
基于springboot的助农管理系统的设计与实现
基于springboot的助农管理系统的设计与实现
|
4天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的教师管理系统的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的教师管理系统的详细设计和实现
31 2
|
4天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的健身管理系统及会员微信小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的健身管理系统及会员微信小程序的详细设计和实现
25 0
|
14天前
|
JavaScript 前端开发 Java
Springboot+vue地方废品回收机构管理系统
Spring Boot和Vue.js结合打造Web应用。Spring Boot简化企业级应用开发,Vue.js专注用户界面。示例展示了一个简单的废品回收系统,包含用户管理、废品分类和回收记录模块。后端提供获取废品分类的API,前端使用Vue.js和Axios展示分类列表。实际项目需扩展登录、权限等更多功能。
22 7
|
14天前
|
前端开发 JavaScript Java
Springboot+vue的医患档案管理系统
这是一个医患档案管理系统,包含用户管理、病历管理和预约管理模块。示例展示了一个Spring Boot后端接口,用于获取所有病历信息,以及一个Vue.js前端,使用Axios调用该接口显示病历列表。实际项目需考虑登录、权限及病历CRUD功能,可按需求和技术栈扩展。
26 7
|
21天前
|
JavaScript Java 关系型数据库
基于 java + Springboot + vue +mysql 大学生实习管理系统(含源码)
本文档介绍了基于Springboot的实习管理系统的设计与实现。系统采用B/S架构,旨在解决实习管理中的人工管理问题,提高效率。系统特点包括对用户输入的验证和数据安全性保障。功能涵盖首页、个人中心、班级管理、学生管理、教师管理、实习单位管理、实习作业管理、教师评分管理、单位成绩管理和系统管理等。用户分为管理员、教师和学生,各自有不同的操作权限。
|
26天前
|
存储 监控 NoSQL
SpringBoot 后台管理系统
SpringBoot 后台管理系统
9 0
|
1月前
|
JavaScript 安全 Java
Spring Boot 和 Vue.js 实现的前后端分离的用户权限管理系统
Spring Boot 和 Vue.js 实现的前后端分离的用户权限管理系统
53 0