一个基于SpringBoot 2 的管理后台系统,有数十个基于此的商业应用,包含了用户管理,组织机构管理,角色管理,功能点管理,菜单管理,权限分配,数据权限分配,代码生成等功能 相比其他开源的后台开发平台脚手架,SpringBoot-Plus 使用简单,可以轻易完成中型,大型系统的开发。同时技术栈较为简单
如何判断一个开源开发平台是否适合自己
Plus系统是一个开发和部署简单,业务功能较为复杂的开源系统,已经数十家商业公司采用,兼顾教学和实战。
系统基于Spring Boot2.5技术,前端采用了Layui2.4。数据库以MySQL/Oracle/Postgres/SQLServer为实例,理论上是跨数据库平台.
项目源码和地址已经为大家准备好了,有需要的可以点击下面卡片回复 【0406】 即可获取。
当前版本:2.0.0, 当前版本与1.3.x版本差别较大
建议在彻底熟悉plus系统之前,先暂时不要修改其他配置选项,免得系统无法访问
本系统基于Spring Boot 2 ,因此请务必使用JDK8,且打开编译选项parameters(点击了解parameters), 并重新编译工程,如果你没有使用Java8的 parameters 特别是,系统不能正常使用
从Git上获取代码后,通过IDE导入此Maven工程,包含俩个子工程
com.ibeetl.admin.CosonleApplication 是系统启动类,在admin-console包下,在运行这个之前,还需要初始化数据库,位于doc/starter-mysql.sql,目前只提供mysql, oracle, postgresql脚本。理论上支持所有数据库
还需要修改SpringBoot配置文件application.properties,修改你的数据库地址和访问用户
spring.datasource.baseDataSource.url=jdbc:mysql://127.0.0.1:3306/starter?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false&useInformationSchema=true
spring.datasource.baseDataSource.username=root
spring.datasource.baseDataSource.password=123456
spring.datasource.baseDataSource.driver-class-name=com.mysql.cj.jdbc.Driver
运行CosonleApplication,然后访问http://127.0.0.1:8080/ 输入admin/123456 则可以直接登录进入管理系统
如果成功启动后运行报错:变量userId未定义,位于第6行,那是因为你没有启用parameters,启用后,需要clean&build整个工程
SpringBoot-plus 是一个适合大系统拆分成小系统的架构,或者是一个微服务系统,因此,如果你需要创建自己的业务系统,比如,一个CMS子系统,建议你不要在SpringBoot-Plus 添加代码,应该是新建立一个maven工程,依赖admin-core,或者依赖admin-console(如果你有后台管理需求,通常都有,但不是必须的)
创建子系统,可以进入代码生成>子系统生成, 输入maven项目路径,还有包名,就可以直接生成一个可运行的基于SpringBoot-Plus 的子系统,所有代码可以在个项目里些完成,直接运行MainApplication,
@SpringBootApplication
@EnableCaching
@ComponentScan(basePackages= {"com.corp.xxx","com.ibeetl.admin"})
public class MainApplication extends SpringBootServletInitializer implements WebApplicationInitializer {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
子系统包含了admin-core和admin-console, 因此你可以直接在子系统里使用core和console提供的所有功能,通过子系统的console功能的代码生成来完成进一步开发
子系统可以单独运行和维护,也可以集成到nginx后构成一个庞大的企业应用系统
子系统不需要做任何配置即可在IDE里直接运行,如果你想打包jar方式运行,则需要添加
org.springframework.boot
spring-boot-maven-plugin
如果你想打包成war放到tomcat下运行,需要修改maven打包为war
war
系统默认提供三种类型菜单
建议新建立一个子系统来放置新功能
SpringPlus-Boot 并非以菜单或者按钮来组织整个系统,而是以功能点来组织整个系统提供的功能。如果要使得菜单生效,你必须要先创建一个功能点并且功能点有一个访问地址,然后将此菜单关联到这个功能点
SpringBoot-Plus 先建立功能点是个好习惯,功能点被组织成一棵树,代表了系统应该提供功能的功能,我们看代码就会看到,功能点跟菜单,跟权限,和数据权限都有密切关系
可以参考1.3业务代码生成生成初始化的代码,业务代码生成了14个文件,包含前后端所有代码,可以通过生成来了解代码习作规范
在介绍如何利用Plus开发系统之前,先介绍代码生成功能,此功能可以生成前后端代码总计14个文件,你可以通过预览功能了解如何开发这个系统
代码生成针对表进行代码生成,包括JS,JAVA,SQL和HTML,可以通过预览功能直接预览。在生成代码到本地前,有些参数需要修改,否则,代码生成后显示的都是英文
其他修改的地方也有
是否包含导入导出,如果选择,则会生成导入导出的代码,导入导出模板则需要参考已有功能(比如数据字典)来完成
是否包含附件管理,如果选择,则业务对象可以关联一组附件,比如客户关联一组附件,或者申请信息关联一组附件。
字段信息的显示名字,这个用于前端列表,表单的显示,应当输入中文名字
作为搜索,可以勾选几个搜索条件,系统自动生成一个搜索配置类
如果字段关联数据字典,那么设置一个数据字典,这样,生成的界面将会变成一个下拉列表
前端代码采用了layui的JS框架,使用了按需加载的方式,文档参考 http://www.layui.com/doc/base/infrastructure.html.
基础JS
页面采用layui,文档参考 http://www.layui.com/demo/
模板语言了使用Beetl,文档参考ibeetl.com
采用layui的好处是自带了页面和组件还有JS的管理,能完成大多数业务需求
基础UI组件:
plus是一个适合单体系统,系统拆分的java快速开发平台,也可以经过改造成微服务平台(以前做一个版本,但觉得plus应该聚焦系统核心,而不是简单堆砌功能,所以放弃了)
以下是单体系统,小系统,和微服务的区别
单体系统是一种常见系统设计方式,也是这十几年来最主要的设计方式。单体系统的所有功能都在一个工程里,打成一个war包,部署。这样有如下明显的好处
随着业务发展,重构,单体系统越来越多,在开发一个庞大的单体系统的时候,就会有如下弊病
因此,越来越多的架构师在设计系统的时候,会考虑将系统拆分成多个单体小系统甚至是微服务。对于传统企业应用,拆成小系统更合适,对互联网系统,使用微服务更合适,这是因为
因此,对于大多数传统IT应用来说,单体拆分小系统在技术上没有风险,是一个可以立即实施的架构。如下是一个单体系统拆分后的物理架构
对于用户来说,访问不同的菜单功能,讲定位到不同得子系统,提供服务。
项目源码和地址已经为大家准备好了,有需要的可以点击下面卡片回复 【0406】 即可获取。
提及对俄罗斯的认知,我们通常会从许多熟知的角度出发,如国土面积、最长铁路、重工业等,但似乎很少有人能对其 IT 技术侃侃而谈——相比西方发达国家,俄罗斯的信息技术水平曾稍有落后,对国外技术和产品也有较高依赖性。
然而近十年,俄罗斯一直坚持向“IT 自主可控”的方向发展,不论芯片、桌面/移动操作系统、云计算、CPU、5G 等核心技术,均强调国产化替代。
在此趋势下,俄罗斯的“IT 自主可控”之路越走越远,芯片方面更是大比例自研:俄罗斯的芯片需求主要分为军用与民用,其中军用芯片基本自研,民用芯片虽然 90% 来自进口,但据美国半导体工业协会(SIA)专家称,俄罗斯仅占全球芯片购买量的 0.1%,并非半导体重要消费国。
这一成绩的背后自然离不开那些默默付出的程序员,恰好近来 Average Salary Survey 网站(以下简称 ASS 网站)公布了 3 月俄罗斯软件开发的薪酬报告,接下来就让我们一睹俄罗斯程序员的最新薪资水平吧!
据 ASS 网站表示,本次薪酬统计基于 26 次调查,数据显示俄罗斯软件开发人员的平均年薪为 28536 美元(约 18 万元人民币),其中近 23% 程序员的年薪集中在 15000-19999 美元区间内。
调查结果还发现,男程序员的平均薪资低于女程序员:男性平均年薪为 28200 美元(约 17.7 万元人民币),而女性年薪为 32500 美元(约 20.5 万元人民币)。不过这并不排除女性程序员样本较少,导致结果产生偏差的可能。
如根据程序员教育水平进行划分,会发现获得硕士学位的人薪酬最高,为 34500 美元(约 21.7 万元人民币),其次是平均年薪为 25400 美元(约 16 万元人民币)的学士学位,学历最高的博士程序员收入却排在第三。
编程经验与收入水平也有关系:具有 16-20 年经验的程序员收入最高,平均年薪为 41900 美元(约 26.4 万元人民币)。
与编程经验相应的,年龄在 36-40 岁的程序员薪资水平也最高。
相较于俄罗斯,乌克兰的 IT 行业这些年来也一直在快速发展,这期间还培育出了许多知名 IT 品牌:号称 GitHub 最大竞争对手 GitLab、被 Facebook 用 190 亿美元收购的 WhatsApp、专注开发 Mac 软件与工具程序 MacPaw、全球知名语法和拼写检查工具 Grammarly…
那么与之相对的,乌克兰程序员薪酬水平如何呢?去年年底 DAXX 网站结合了 PayScale、Accelerance 和 SalaryExpert 等行业相关平台,并参考了乌克兰最大在线科技社区之一 DOU.UA 上的资料,整理出了一份乌克兰程序员薪资调查报告。
据 DAXX 调查显示,乌克兰开发人员平均月薪普遍在 2000-5000 美元之间,即年薪约为 24000-60000 美元(约 15-37 万元人民币)。其中,报告还根据高级/中级/初级开发人员做了进一步划分:高级开发人员每月收入约为 4250 美元,年薪约 51000 美元;中级开发人员每月收入约为 3000 美元,年薪约 35000 美元;初级开发人员每月收入约 1100-2200 美元,年薪约 13000-22000 美元。
不光如此,DAXX 还聚焦于具体编程语言,根据乌克兰程序员从事最多的 JavaScript、Python、Java、.NET 和 PHP 这五大语言进行更详细的分析:
.
在全球范围内,JavaScript 一直以来都是程序员们的最爱——在去年 GitHub 年度报告中,JavaScript 依旧“王位”难夺,不出意外地蝉联最受欢迎编程语言第一。
而在乌克兰 JavaScript 社区,大约有 8000 名活跃开发者,根据 PayScale 和 SalaryExpert 的数据,乌克兰 JavaScript 开发者的平均月薪为 3600 美元(约 2.2 万元人民币),不同职级对应薪资也有所不同:
通过调查, DAXX 发现 Python 程序员在乌克兰科技行业的需求量也很大,Python 软件开发人员的平均工资可达每月 3800 美元,其中高级 Python 程序员起步月薪更是最高可达 6500 美元(约 4.1 万元人民币)。
乌克兰在 Java 人员储备方面较有优势,约有 5000 名高级 Java 程序员、2000 名中级 Java 程序员和 2000 名初级 Java 程序员。高级 Java 程序员平均月薪约 4700 美元 ,中级 Java 开发人员每月 2700 美元,而初级 Java 软件工程师每月收入约为 1500 美元。
乌克兰的 PHP 软件开发人员也数量惊人,共有超过 9000 名技术专家从事 PHP。其中高级开发人员年薪约 51000 美元,中级 PHP 程序员年薪在 26000-42000 美元之间,初级 PHP 工程师年薪最高可达 26000 美元(约 16.4 万元人民币)。
根据权威工资收入调查机构 PayScale 显示,乌克兰对 .NET 有深入了解且拥有 5 年以上工作经验的开发人员平均每年可赚取 68000 美元 。而高级 .NET 开发人员的平均月薪为 4700 美元,中级 .NET 程序员月收入虽在 3000 美元左右,但具有 2 年以上经验的年薪最高可达 39000 美元(约 24.6 万元人民币)。
留言与评论(共有 0 条评论) “” |