基于SpringBoot的任务管理平台v1.0正式发布

基于 SpringBoot 任务管理系统V1.0版正式发布

(原创内容,转载请注明来源,谢谢)

一、基本内容

经过近半个月以来学习springboot,完成了我的java的第一个项目——基于SpringBoot的任务管理平台v1.0。这个任务管理平台,涵盖了数据库的增删改查、前后端的ajax、前端页面返回渲染、登陆等基本功能。技术上,前端采用jquery(部分用到jqgrid),网站模板采用ace模板,java前端模板采用的是Thymeleaf,java服务端模板即springboot,orm采用mybatis,数据库是mysql。

对于想要学习SpringBoot框架的同学们,可以从github上面下载这个项目,并且通过往里面改内容的方式,亲身体验这个框架。因为项目已经调通,所有配置都加载好了,所以用这个项目来学习框架,可以避免前期各种配置不正确导致的问题。

二、项目路径与获取方式

1、项目代码获取方式

1)windows的cmd、linux、mac

git clone https://github.com/linhxx/taskmanagement.git

2)IDEA(新手推荐)

上网搜索“IDEA获取github代码”,网上教程很多,例如这篇文章:http://blog.csdn.net/sinat_36246371/article/details/52914448。

配置好git、github后,见下图,在github地址输入https://github.com/linhxx/taskmanagement.git,另外两个内容自行随意输入。

获取完代码以后,由于maven需要下载相关文件依赖,因此idea会加载一会儿。等进度条都加载完即可。

2、数据库

项目使用mysql,因此需要在操作系统中安装mysql数据库,这个自行百度。安装完后,在操作系统连接mysql,并且新建一个数据库,名字叫做spring。

接着,找到刚刚下载的项目源码,在根目录找到spring.sql文件,在mysql终端中进入到刚刚建好的spring数据库,并且打开spring.sql文件,把里面的内容复制到mysql终端,执行里面的内容。

文件路径见下图:

3、找到application.java文件,在idea中运行该文件。待文件编译完成后,在浏览器中,输入http://127.0.0.1:9091/toLogin,看到下面的页面,即正常加载:

4、登陆:账号密码都是root。如果登陆失败,首先查看mysql服务是否打开,通常是这个问题。要不然就是数据库表没建对。有问题可以在公众号中联系我~

三、基本功能介绍

1、登陆

登陆页面见上图,目前就实现登陆功能,注册和忘记密码还没实现,后续版本可能会实现。

2、主页

主页是欢迎页面,左侧有导航栏,目前包括任务管理和用户管理。右上角有个人登陆信息,点击个人登陆信息,里面有个人信息设置,可以修改个人密码、账号。

这个项目前端的模板是ACE模板,这些前端页面的代码基本是ace,其中对于部分信息,如用户个人设置等部分,有整合java前端模板thymeleaf,实现部分数据的动态设置。

3、用户管理

用户管理包括用户的增删改查,并且可以对用户进行重置密码。重置后密码和用户名一样。如果重置的是自己的密码,则需要重新登陆,会退回到登录页面。

其中,这里的分页插件以及项目增删改查的时候表格的刷新,都是通过jquery的插件jqgrid实现的,因此对信息的改动会实时反应到表格中。

4、任务管理

技术实现上,类似用户管理,不详细介绍。

四、项目目录介绍

1、项目路径

2、config

添加一些路由规则、拦截器规则。

3、controller

主要是负责处理url并返回页面、处理ajax并返回数据。通常controller需要依赖注入service,通过调用service来间接操作数据库。

4、domain

数据库表结构,里面的每个类都是数据库的一个表,而且里面类的每个属性就是表的每个列,同时定义getter和setter。

5、dao、mapper

dao是java文件,是接口,用于给service调用,并且指定需要调用哪个xml。

mapper是xml文件,里面有具体的sql语句。

这个是mybatis通过xml进行操作数据库的方式。mybatis也可以通过注解的方式进行操作数据库,还有也可以通过jpa(底层的orm是hibernate)的方式操作数据库,后续的项目可能会实现。

6、intercepter

过滤器,目前主要用到的是登陆控制,通过判断session的方式进行登陆控制。

7、application

项目的启动文件,main函数在这里,并且datasource也在这里定义,springboot会自动使用定义的datasource。项目使用的是阿里的druid。

8、static

js和css、图片等放在这里。

9、templates

页面的文件在这里,thymeleaf也在这里面使用。

10、application.properties

全局变量的定义地方,例如数据库连接、页面端口号等。

11、pom

项目是通过maven进行管理,所有需要加载的内容都在这里面。

五、鸣谢

1、springboot学习

基本知识的学习,建议可以到慕课网去看,下面两个链接是springboot的介绍,基本上介绍的还是挺详细的。

http://www.imooc.com/learn/767 ,http://www.imooc.com/learn/810。

2、本项目开发

这个项目的开发,我是在学习http://tengj.top/tags/Spring-Boot/,这个博客后的启发,进行的开发。非常感谢这个博主。

六、后续计划

近期由于我个人还有一些比较重要的事情需要忙,这两个多月可能发公众号不会那么频繁,但是我仍然保证,每周至少2次或以上、总文章3篇或以上的频率,来发文章。

接下来我打算看spring的一些核心的思想,以及javaweb的核心思想。毕竟接触java不久,还会继续学习。

另外,php部分,我打算年底前找时间把laravel学了,一直知道这个优秀的框架却还没时间学,另外还有js的vue框架。

其他方面,算法、数据库等,仍会持续不间断发推送。

这个springboot项目,应该还会持续更新(毕竟是我发github的第一个项目),另外laravel项目如果做完也会尽快发github的。

七、结语

最后,最近公众号关注量大了很多,文章的点击量比以前多了好多,而且前些天还收到了赞赏,这些都让我非常感动。我通常每天晚上都会看公众号,有任何想说的欢迎直接发在公众号的对话框,或者任何一篇文章。我看到后会第一时间答复。

我会持续学习,尽力分享所学的内容,也非常希望各位对于我文章的任何不正确之处,及时指出,甚至在公众号中喷我(最好是能指出问题)也没问题。我相信技术的进步在于分享与讨论。诸位一起加油!

原文发布于微信公众号 - 决胜机器学习(phpthinker)

原文发表时间:2017-10-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术栈

稍微有点难度的10道java面试题,你会几道?

1、jvm对频繁调用的方法做了哪些优化? 2、常见的攻击手段有哪些?如何防范? 3、restful api有哪些设计原则? 4、hessian是做什么用的?它的...

32410
来自专栏技术翻译

如何在微服务之间共享和同步代码

微服务架构非常适合构建可扩展的代码库,具有更少的耦合,更好的关注点分离,更高的弹性,结合不同的技术,最重要的是,更好的模块化和构建它的组件的可重用性。

1770
来自专栏happyJared

YApi - 高效、易用、功能强大的可视化接口管理平台

  YApi是由去哪儿网移动架构组(简称YMFE,一群由FE、iOS和Android工程师共同组成的最具想象力、创造力和影响力的大前端团队)开源的可视化接口管理...

2851
来自专栏区块链

XSS攻击入门

反射性XSS XSS又叫CSS(Cross Site Script)跨站脚本攻击。它指的是恶意攻击者往Web页面TM入恶意代码,当用户浏览该页之时。嵌入其中We...

2645
来自专栏CLS日志服务

腾讯云CLS日志服务应用

*LogListener: 是腾讯云日志服务提供的日志采集 Agent,通过在服务器上安装loglistener可以实时采集指定路径上的日志,并对日志原始数据进...

2841
来自专栏编程

使用GitHub搭建个人博客

今年使用GitHub搭建了自己的博客:kaze2017.com 我整理了一下搭建博客的过程,分为购买域名、准备环境、Git和GitHub、搭建博客、绑定域名、感...

26710
来自专栏代码小睿

一句命令快速合并 JS、CSS

  在项目开发环境下,我们会把 JS 代码尽可能模块化,方便管理和修改,这就避免不了会出现一个项目自身 JS 文件数量达到 10 个或者更多。   而项目上线后...

4159
来自专栏肖洒的博客

【Hexo】bat自动处理hexo命令

每次写新文章都得hexo new “xxx”,写完再hexo g -d,挺麻烦的。 就不能写一个脚本来自动执行吗?

1092
来自专栏Django中文社区

建立 Django 博客应用

建立博客应用 我们已经建立了 Django 博客的项目工程,并且成功地运行了它。不过到目前为止这一切都还只是 Django 为我们创建的项目初始内容,Djang...

2867
来自专栏ytkah

finecms设置伪静态后分享到微信不能访问怎么处理

  finecms设置伪静态后分享到微信不能访问,分享的链接自动增加了一串参数,类似这样的***.html?from=singlemessage&isappin...

3015

扫码关注云+社区