基于vue+spring的java后台管理系统非常多,个人认为其中el-admin算是比较靠谱的。该项目一直在持续优化,最近刚发布其v1.9的第九个版本。
创新互联长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为曾都企业提供专业的网站设计制作、成都网站设计,曾都网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。
项目基于 Spring Boot 2.1.0 、 Spring boot Jpa、 Spring Security、redis、Vue的前后端分离的权限管理系统,项目采用分模块开发方式, 权限控制采用 RBAC(Role-Based Access Control,基于角色的访问控制),支持数据字典、数据权限管理、前端菜单支持动态路由。
前端
后端
医院的药品繁多,毫无疑问只靠人工管理是不现实的,必须依赖信息化管理系统,因此也有很多同学在毕业设计时会选择医院药品管理系统这个项目课题,但其实想把该系统做好做全是不容易的,因此Java潘老师今天给大家介绍一套基于SpringBoot+Vue开发的医院药品管理系统JavaWeb项目源码,整体采用的技术体系还是比较新的,非常适合二次开发。
一、项目架构
本医院药品管理系统项目源码是基于SpringBoot+Vue+MySQL5.7技术架构开发而来,项目整体由Maven进行构建,而且经过潘老师亲自修改测试,能够实现正常部署并稳定运行。
二、项目效果
1)视频演示
项目安装部署教程,以及项目主要功能和项目效果演示,具体可以看下面的视频,如果不够清晰,可以直接点击去B站观看即可。
2)功能模块
该项目的所有功能模块如下,其实只是一些比较容易想到的功能,完全可以自己再去扩展一些类似库存监控、药品统计、销售趋势分析等等功能。
首页
个人中心
药品类别管理
药品信息管理
药品说明管理
药品入库管理
厂商信息管理
药品出库管理
疾病信息管理
疾病科目管理
医师管理
三、项目部分截图
来,一起看看效果如何:
JeecgBoot 是一款基于代码生成器的 低代码 开发平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant DesignVue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发!
JeecgBoot 提供了一系列 低代码模块 ,实现在线开发 真正的零代码 :Online表单开发、Online报表、报表配置能力、在线图表设计、大屏设计、移动配置能力、表单设计器、在线设计流程、流程自动化配置、插件能力(可插拔)等等!
JEECG宗旨是: 简单功能由OnlineCoding配置实现,做到 零代码开发 ;复杂功能由代码生成器生成进行手工Merge 实现 低代码开发 ,既保证了 智能 又兼顾 灵活 ;实现了低代码开发的同时又支持灵活编码,解决了当前低代码产品普遍不灵活的弊端!
JEECG业务流程: 采用工作流来实现、扩展出任务接口,供开发编写业务逻辑,表单提供多种解决方案:表单设计器、online配置表单、编码表单。同时实现了流程与表单的分离设计(松耦合)、并支持任务节点灵活配置,既保证了公司流程的保密性,又减少了开发人员的工作量。
Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中,尤其适合SAAS项目、企业信息管理系统(MIS)、内部办公系统(OA)、企业资源计划系统(ERP)、客户关系管理系统(CRM)等,其半智能手工Merge的开发方式,可以显著提高开发效率70%以上,极大降低开发成本。
1、服务注册和发现 Nacos
2、统一配置中心 Nacos
3、路由网关 gateway(三种加载方式)
4、分布式 http feign
5、熔断和降级 Sentinel
6、分布式文件 Minio、阿里OSS
7、统一权限控制 JWT + Shiro
8、服务监控 SpringBootAdmin
9、链路跟踪 Skywarking
10、消息中间件 RabbitMQ
11、分布式任务 xxl-job
12、分布式事务 Seata
13、分布式日志 elk + kafa
14、支持 docker-compose、k8s、jenkins
15、CAS 单点登录
16、路由限流
微服务架构图
输入图片说明
输出结果:
先看第一个打印语句,在Java中==这个符号是比较运算符,它可以基本数据类型和引用数据类型是否相等,如果是基本数据类型,==比较的是值是否相等,如果是引用数据类型,==比较的是两个对象的内存地址是否相等。字符串不属于8中基本数据类型,字符串对象属于引用数据类型,在上面把“abc”同时赋值给了st1和st2两个字符串对象,指向的都是同一个地址,所以第一个打印语句中的==比较输出结果是 true
然后我们看第二个打印语句中的equals的比较,我们知道,equals是Object这个父类的方法,在String类中重写了这个equals方法,在JDK API 1.6文档中找到String类下的equals方法,点击进去可以看大这么一句话 将此字符串与指定的对象比较。当且仅当该参数不为null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。
注意这个相同字符序列,在后面介绍的比较两个数组,列表,字典是否相等,都是这个逻辑去写代码实现。由于st1和st2的值都是“abc”,两者指向同一个对象,当前字符序列相同,所以第二行打印结果也为true。
下面我们来画一个内存图来表示上面的代码,看起来更加有说服力。
内存过程大致如下:
答案是:在内存中创建两个对象,一个在堆内存,一个在常量池,堆内存对象是常量池对象的一个拷贝副本。
我们下面直接来一个内存图。
当我们看到了new这个关键字,就要想到,new出来的对象都是存储在堆内存。然后我们来解释堆中对象为什么是常量池的对象的拷贝副本。“abc”属于字符串,字符串属于常量,所以应该在常量池中创建,所以第一个创建的对象就是在常量池里的“abc”。
第二个对象在堆内存为啥是一个拷贝的副本呢,这个就需要在JDK API 1.6找到String(String original)这个构造方法的注释:初始化一个新创建的 String 对象,使其表示一个与参数相同的字符序列;换句话说,新创建的字符串是该参数字符串的副本。所以,答案就出来了,两个对象。
答案:false 和 true
由于有前面两道提内存分析的经验和理论,所以,我能快速得出上面的答案。==比较的st1和st2对象的内存地址,由于st1指向的是堆内存的地址,st2看到“abc”已经在常量池存在,就不会再新建,所以st2指向了常量池的内存地址,所以==判断结果输出false,两者不相等。第二个equals比较,比较是两个字符串序列是否相等,由于就一个“abc”,所以完全相等。内存图如下
答案是:true 和 true
分析:
答案:false 和 true
上面的答案第一个是false,第二个是true,第二个是true我们很好理解,因为比较一个是“abc”,另外一个是拼接得到的“abc”,所以equals比较,这个是输出true,我们很好理解。那么第一个判断为什么是false,我们很疑惑。同样,下面我们用API的注释说明和内存图来解释这个为什么不相等。
首先,打开JDK API 1.6中String的介绍,找到下面图片这句话。
关键点就在红圈这句话,我们知道任何数据和字符串进行加号(+)运算,最终得到是一个拼接的新的字符串。上面注释说明了这个拼接的原理是由StringBuilder或者StringBuffer类和里面的append方法实现拼接,然后调用toString()把拼接的对象转换成字符串对象,最后把得到字符串对象的地址赋值给变量。结合这个理解,我们下面画一个内存图来分析。
大致内存过程
所以,st3和st2进行==判断结果是不相等,因为两个对象内存地址不同。
这篇的面试题,完全就是要求掌握JDK API中一些注解和原理,以及内存图分析,才能得到正确的结果,我承认是画内存图让我理解了答案为什么是这样。画完内存图之后,得到答案,你确实会发现很有趣,最后才会有原来如此的感叹。
前端代码生成器,简单的说:
第一步,通过接口文档获取接口的入参\出参,并将这入参\出参格式化成特定JSON
第二步,根据自己的项目,结合表格、表单组件,抽离出代码模板
第三步,通过第一二步的JSON、代码模板,生成vue、JS以及路由文件
简介
本项目采用puppeteer对接口文档网页读取,获得接口链接、入参、出参等,并记录半生成特定格式的json.
因本项目是为了配合公司的接口文档,生成公司的后台管理网站,定制化较高,所以此项目对于其他朋友来说,可做参考.如其他交流,可以联系我.
技术方案
获接口文档中接口的入参\出参,我采用爬虫框架puppeteer来获取,根据获得的入参\出参,结合代码模板,生成实际放入工程的增删改查文件,做到增删改查基本不用再码代码.同时支持审核等表格操作。
通过fs.writeFile来生成文件
说明
目前项目中只给了根据接口生成vue2+element的代码.因为代码是根据特定组件生成的.
表格、表单组件见项目中组件目录,这个需要全局引入.见components目录
另有生成vue3+typescript+ant的代码,暂未公布.
配置说明
scale的配置
```js
// 适用于scale的配置
export const config = {
href: '',
serverName: 'AdminStoreContractService',
pages: [{
filePath: 'promotionNew', // 列表\新\修页面所在路径
chunkName: 'base', // chunkName 用于路由中 require.ensure 打包参数
list: { // 列表
fileName: 'pn-list', // 列表文件名字
name: '列表', // 菜单名
apiName: 'listStoreContract', // 列表接口名
exportFile: { // 导出 [非必填]
apiUrl: '',
downFileName: ''
}
},
我推荐一个基于spring cloud 外延的一个开源项目,主要是针对企业信息化方向的,做得比较不错能开源,支持商用。
里面实现了 SaaS(用户与租户的多对多关系)、统一多模式登陆、在线表单配置、在线列表页配置,在线流程配置,在线图表配置等等。
1、渐进式 JavaScript 框架 Vue.js
官网:
2、高性能Java RPC框架 Dubbo
官网:
简介:Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
3、经典模块化前端框架 Layui
官网:
简介:Layui由职业前端倾情打造,面向所有层次的前后端开发者,零门槛开箱即用的前端UI解决方案。
4、JavaScript 可视化图表库 ECharts
官网:
简介:ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。
5、基于 Node.js 的前端代码检查工具 FECS
官网:
简介:FECS 是基于 Node.js 的前端代码风格工具套件,包含对 JavaScript、CSS 与 HTML 的检查、修复及格式化。
6、开源项目管理软件 禅道
官网:
简介:禅道是第一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。我们团队就在使用这款项目管理软件,感兴趣的小伙伴也可以试用下哦。
7、JAVA 极速WEB+ORM框架 JFinal
官网:
简介:JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 :) 。
以上为抛砖引玉,希望大家分享更多的开源软件,共同进步哦!
相比较,homeassistant 更强大,之前只有英文版,现在有中文版了。
docker,kafka,rabbitmq,redis,mysql,dubbo,consul,sqlite,vue,react,eshop还有啥?
freeradius,nginx,sphinxsearch。。
作为一名开源爱好者,发掘优秀的开源项目是一件非常有趣的事情。在第一期中,我分享了单页个人网站模板、组装式 Flutter 应用框架、PHP 客户端库、Java 诊断工具等一些实用的库和工具。本期依旧会为大家分享一些前端、后端、移动开发的相关工具,希望你能“淘”到适合自己的工具。
1.Vue-EasyTable
Vue-EasyTable 是一款基于 Vue2.x 的 table 组件,具备自适应、表头与列固定、自定义单元格样式、自定义 Loading 等功能。
2.React-Calendar
这是一款具备原生日期格式的日历组件。它不依赖 Moment.js,支持日期选择范围,涵盖了各国语言,开箱即用。
3.Matter
CSS 实现的 Material 组件合集项目,作者已将部分作品开源,效果可以在 CodePen 上查看。
4.Revery
Revery 是一款用于构建高性能、跨平台桌面应用的框架。它类似于加速版的原生 Electron,除了拥有类似 React / Redux 的库,还具备 GPU 加速渲染功能,其内置的编译器速度也相当快。
5.Web Accessibility Guide
这是一个精选了 Web 可访问性贴士、技巧和最佳实践的开源项目,你将会学习到一些改善 Web 可访问性的实用做法。
1.SOFAJRaft
SOFAJRaft 是蚂蚁金服开源的生产级 Java Raft 算法库,它基于 Raft 一致性算法的生产级高性能 Java 实现,支持 MULTI-RAFT-GROUP,适用于高负载低延迟的场景,易于使用。
2. Dragonwell
阿里开源了 OpenJDK 发行版 Dragonwell,它提供长期支持,包括性能增强和安全修复。在数据中心大规模 Java 应用部署情况下,可以大幅度提高稳定性、效率以及性能。
3.Lawoole
Lawoole 是一款基于 Laravel 和 Swoole 的高性能 PHP 框架。它兼具了 Laravel 的特点,还解决了其功能背后的性能问题。同时,你还能感受到与 Laravel 一样的编码体验。
4.AntNest
AntNest 是一个简洁、快速的异步爬虫框架。它仅有 600 行代码,基于 Python 3.6+.
5.PHP-Awesome
这个仓库汇集了 PHP 优秀的资源,供你查询和参考。
1.FlutterBoost
FlutterBoost 是闲鱼开源的新一代 Flutter-Native 混合解决方案。它能够帮你处理页面的映射和跳转,你只需要关心页面的名字和参数即可。
2.MyLayout
MyLayout 是一套 iOS 界面视图布局框架,可谓 iOS 下的界面布局利器。它集成了 iOS Autolayout、Size Classes、Android 的 5 大布局体系、HTML/CSS 的浮动定位技术以及 Flex-Box 和 Bootstrap 框架等主流的平台的界面布局功能,并提供了一套简单、完备的多屏幕尺寸适配的解决方案。
3.SegementSlide
SegementSlide 是一个 iOS UI 库,它具备完整的滑滚及切换组件,旨在解决多层 UIScrollView 嵌套滚动的问题。
1.DevHub
DevHub 是一款跨平台的 GitHub 通知管理客户端,支持 Android、 iOS、网页和桌面上使用,帮助你便捷的接收 GitHub 各类通知。
2.Reqman
Reqman 是一个帮助后端工程师进行 API 测试的工具,同时也是一个基于 Node.js 的爬虫工具。
3.FreeCodeCamp
说到 FreeCodeCamp,或许大家不会陌生,而这个项目就是他们建立的开源课程和相应的代码库。网站提供了 6 大认证课程,也涉及了全栈开发认证。如果你感兴趣,不妨了解下。
4.Gitter
Gitter 是 GitHub 小程序客户端,作者采用 Taro 框架 + Taro UI 进行开发,而小程序内数据则来自 GitHub Api V3.
5.Awesome Podcasts
这个项目收集了各类实用的播客,涵盖了主流的编程语言,希望对你提升技术水平有所帮助。
6.编程图书大全
书籍不光能在你迷茫的时候,给予你答案,还能在你提升技能的时候,给予你帮助。这个仓库收集了众多编程图书,涉及主流编程语言、人工智能、算法、Linux、大数据等。看看,有木有你需要的。
7.VS Code Netease Music
很多开发者喜欢边写代码,边听音乐,VS Code Netease Music 这个插件就能满足你在 VS Code 上听歌的愿望。它使用 Webview 实现,不依赖命令行播放器。
Star-Battle
Star-Battle 是一款使用 JavaScript ES6、Canvas 开发的飞船射击类 游戏 。来 Enjoy 吧。
注:
如需转载,烦请按下方注明出处信息,谢谢!