JEECG-BOOT 使用心得

最近为了方便自己的工作,想写一个简单的DNS资源记录的管理系统,这类管理系统其实之前也用各种编程语言、各类框架实现过,功能上虽然说不是很完善,但也能满足自己的一些系统管理工作。其实最简单的无非是把已有的拿过来改改,但这样有点繁琐,而且容易出错,不符合程序员的思维——能用代码自动完成的,就不手工去做。虽然编写代码需要时间,但是后期使用就很方便,就像我常说的磨刀不误砍柴工。

所以就想着去找一个直接通过代码,根据项目配置信息如表结构、字段等信息能自动生成常见的增删查改等通用功能的已有解决方案,无意间了解到JEECG-BOOT,使用下来还是非常符合我预期的目标的。

以下一些特性是也是我之前项目里经常用到的,在JEECG-BOOT里都有提供:

  • 项目是基于Spring boot,这样直接在IDE中运行main,可以打包生成JAR包,部署的时候不需要额外安装配置如Tomcat等Servlet应用服务器。
  • 项目是前后端分离的,后端只负责提供跨域的基于JWTREST风格的API,前端是基于ReactVue等现代前端框架,方便开发和维护。JEECG-BOOT目前使用的是vue
  • 前端的UI框架选择的是我比较喜欢的antd,之前用过它的React版本,还是很方便,界面简洁大气,优雅美观。

下面一些特性是JEECG-BOOT自带的比较有特色的内容:

  • 支持根据已经设计好的表结构,快速生成前后端代码,当然也要符合JEECG-BOOT的一些要求,例如主键字段名称、类型,一些额外的辅助字段。
  • 新版本中在上面的基础上提供在线开发,这个功能还是比较实用的,这样就不需要我们先设计生成表结构了,可以一上手就填写字段信息,设置字段在前端页面上显示控件是例如文本框、下拉选择框又或者是时间日期选择框等,功能丰富的搜索也可以设置,支持单表、一对多,这些都是非常非常方便的,可以少写很多自己之前写过的重复性的代码。
  • 前端生成的代码也使用Vue里面的Mixins,把相似的功能封装成可复用的组件,这样生成的ListModal组件里面的内容相对来说也简洁清爽,也不失定制可扩展性。
  • 支持比较完善的基于角色的权限管理,这个在JEECG-BOOT里面也支持的比较好,结合v-has@RequiresPermissions可支持真实的动态权限管理,之前自己写的小项目,一般都是自己用或者提供给少数对技术不是很懂的人,就只是在前端层面控制一些功能的显示或隐藏了。
  • 其他一些特性例如消息中心(支持短信、邮件、微信推送等等)、系统监控,实时跟踪系统运行情况等特色功能也是锦上添花的功能点,虽然我自己用不到,但是在其他一些后台管理系统中也还是非常实用的。

其实上面我列举的这些功能点都是从我自己使用角度简单总结的,实际上从项目的README中可以看到很多其他通用而且使用的特性,当然也有功能强大的在线开发功能,不过目前开源版本的在线开发功能有所限制,但对于一般项目而言其实也够用了,详情可以参考 https://github.com/zhangdaisc... ,我这里就不复制引用了。

下面再说一些自己在使用过程中遇到的问题或者说坑:

  • 数据库设置,在项目中有两个数据库配置文件,分别是jeecg-boot\jeecg-boot-module-system\src\main\resources\application-dev.ymljeecg-boot\jeecg-boot-module-system\src\main\resources\jeecg\jeecg_database.properties,前面一个是项目运行时候的数据源,后面一个是JEECG代码生成器相关的数据源,可参考 http://idoc.jeecg.com/1275928 ,我一般为了简化及方便管理这两个都设置成一样的。
  • 前端安装依赖包的时候最好先设置一下npm的源,用taobao的或者cnpm的,建议全局安装nrm,由nrm来管理源,另外依赖项使用yarn安装会比较好一些,不容易出错,而且速度快,如果npm下安装的依赖项运行启动的时候报错可以尝试把node_modules删掉,然后使用yarn重新安装。
  • 如果登录的时候提示登录失败,数据库连接本身有没有问题,那可能就是redis忘记启动了,redis不需要做任何配置,默认监听127.0.0.1的默认端口就行。

-JEECG-BOOT2.x版本开始后端代码采用多模块方式,建议自己写的模块使用单独的一个模块,不要放到jeecg-boot-module-system中,这样不会混淆框架代码和自己应用层面的代码,也便于升级、维护。

  • 前后端使用的框架或类库都比较多,建议前期遇到问题的时候再仔细查看相关官方文档,多尝试自己分析解决,这样对自己能力也会有所提升,有时候可能就只是自己的配置疏忽又或者确实是一个bug。

-IDE方面我自己是使用VSCode,打开一个VSCode窗口,在内置终端中yarn serve运行前端,调试模式下运行后端,这样不用来回切换,比较高效一些,相比其他同时打开多个IDE来说,不会卡顿,个人推荐。切记需要安装lombok扩展。调试或运行模式时如果修改的内容较少,例如修改一个方法里面的实现,可以使用热加载更新,这样就不用每次都重启后端。

遇到问题,可以尝试着仔细看一下错误堆栈信息,不要害怕和担心那些需要翻页和一行上非常长的错误信息,有时候可以根据错误信息就知道什么地方出错了;其次还要多会用、善用搜索引擎,推荐谷歌,如果访问不了,可以用Bing,用百度搜索出来的结果个人感觉较差。

最后提供几个在写代码过程中会来回翻阅的文档,如果可以的话,尽量看官方的,英文原生的,有些文档没有中文版或者中文版的比较陈旧,翻译质量较差,很多内容都匹配不上。

你可能感兴趣的:(jeecg-boot,vue.js,springboot)