首页 文章 精选 留言 我的

精选列表

搜索[企业级市场],共10001篇文章
优秀的个人博客,低调大师

MakuBoot 4.3 发布,企业级低代码开发平台

介绍 maku-boot 是采用 SpringBoot3.3、SpringSecurity6.3、Mybatis-Plus、Flowable7.0、Vue3、Element-plus 等技术开发的低代码开发平台,旨在为开发者提供一个简洁、高效、可扩展的低代码开发平台。 使用门槛极低,支持国密加密、达梦数据库等,符合信创需求的低代码开发平台。 采用组件模式,扩展不同的业务功能,可以很方便的实现各种业务需求,且不会导致系统臃肿,若想使用某个组件,按需引入即可,反之亦然。 支持 Online 在线表单开发,支持单表、树表、一对一、一对多表单,可快速开发业务,无需部署及重启服务等。 支持多种数据库,包括 MySQL、PostgreSQL、达梦等,可灵活切换。 支持 Flowable7 工作流,包括流程设计、自定义表单、在线 Online 表单、会签、或签等。 支持多种登录方式,包括账号密码、短信验证码、企业微信、钉钉、飞书、微信等,可灵活选择。 支持多租户模式,可实现不同业务系统之间的隔离,能同时支持字段隔离、数据源隔离方式,满足对多租户的全部需求。 官网地址:https://maku.net 开发文档:https://maku.net/docs/maku-boot 演示环境:https://demo.maku.net/maku-boot 企业版:https://maku.net/price 更新日志 新增邮件功能,支持SMTP协议和阿里云邮件推送 新增邮件发送工具,可在线发送邮件 新增短信发送工具,可在线发送短信 新增系统配置,可在线配置短信、邮件、第三方登录信息 优化消息模块,整合到系统模块里面,作为基础服务 优化短信接口,可按分组名称,轮询发送短信 修复字典上级显示错误问题 升级 SpringBoot 到 3.3.1 升级 Hutool 到 5.8.28 升级 Element-Plus 到 2.7.6 升级 Vue.js 到 3.4.30 升级 Vite 到 5.3.1 开源汇总 低代码开发平台(单体版):https://gitee.com/makunet/maku-boot 低代码开发平台(微服务):https://gitee.com/makunet/maku-cloud 超好用的代码生成器:https://gitee.com/makunet/maku-generator Vue3.x 后台管理 UI:https://gitee.com/makunet/maku-admin Vue3.x 表单设计器:https://gitee.com/makunet/maku-form-design 架构图 效果图

优秀的个人博客,低调大师

企业级开源 IDaas/EIAM 产品重磅发布

TopIAM 数字身份管控平台,简称:EIAM(Employee Identity and Access Management), 用于管理企业内员工账号、权限、身份认证、应用访问,帮助整合部署在本地或云端的内部办公系统、业务系统及三方 SaaS 系统的所有身份,实现一个账号打通所有应用的服务。 产品价值 传统企业 IT 大多采用烟囱式建设方式,各系统独立建设账号体系、权限体系,当企业团队人数达到数十人至数百人时,由于系统数量多,在账户、密码、权限管理上会出现瓶颈。员工入职、离职,转岗都需要进行账号权限分配等此类管理,操作低效、功能重复、价值低,员工需要记录多套系统密码,容易出现安全问题,导致数据外泄。用户身份认证安全存疑,敏感系统缺乏严格的身份认证机制。 EIAM 提供一套集中式账号、权限、认证、应用、审计等,帮助企业打通身份数据孤岛,实现用户全生命周期,实现一个账号打通所有应用的服务,强化企业安全体系,提升组织管理效率,助力企业数字化转型升级。 核心特性 提供统一组织信息管理,多维度建立对应关系,实现在一个平台对企业人员、组织架构、应用信息的高效统一管理。 支持钉钉、飞书、企业微信等身份源集成能力,实现系统和企业OA平台数据联动,以用户为管理基点,结合入职、离职、调岗、兼职等人事事件,关联其相关应用权限变化而变化,保证应用访问权限的安全控制。 支持多因素认证,行为验证码、社交认证,融合认证等机制,保证用户认证安全可靠。 支持微信、微博、QQ等社交认证集成,使企业具有快速纳入互联网化认证能力。 支持 SAML2,OAuth2,OIDC,CAS,表单代填等认证协议及机制,实现单点登录功能,预配置大量 SaaS 应用及传统应用模板,开箱即用。 完善的安全审计,详尽记录每一次用户行为,使每一步操作有据可循,实时记录企业信息安全状况,精准识别企业异常访问和潜在威胁的源头。 提供标准REST和SCIM2.0接口轻松完成机构用户同步,实现企业对于账号生命周期的精细化管理。 开源、安全、自主可控。 页面展示 仅展示部分UI页面 管理端 统计分析 组织与用户 身份源管理 添加应用 门户端 我的应用 在线演示 管理端:https://eiam-console.topiam.cn 用户端:https://eiam-portal.topiam.cn 技术架构 前端技术栈:ES6、React、TypeScript、UmiJS、Axios、Ant Design; 后端技术栈:JDK11、Spring Boot、Spring Data、Spring Security、Elasticsearch、Redis、MySQL; 参与贡献 我们强烈欢迎有兴趣的开发者参与到项目建设中来,同时欢迎大家对项目提出宝贵意见建议和功能需求,项目正在积极开发,欢迎 PR 👏。 License

优秀的个人博客,低调大师

JeecgBoot 2.4.3 版本发布,企业级低代码平台

项目介绍 JeecgBoot是一款基于代码生成器的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领低代码开发模式(OnlineCoding-> 代码生成-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省成本,同时又不失灵活性! 当前版本:v2.4.3 | 2021-03-22 源码下载 https://github.com/zhangdaiscott/jeecg-boot https://gitee.com/jeecg/jeecg-boot 技术文档 技术官网:http://www.jeecg.com 在线演示:http://boot.jeecg.com 技术文档:http://doc.jeecg.com 常见问题:http://jeecg.com/doc/qa 视频教程:http://jeecg.com/doc/video QQ群:③816531124 升级日志 此版本为优化易用版,重点重构了前端和代码生成器模板,将Form升级为FormModel支持双向绑定简化前端;另外优化了微服务的使用模式,提供简易机制,进一步降低了微服务的使用难度; 前端升级 重构前端大部分页面,将表单升级为FormModel模式(涉及常见案例、系统管理等) 重构代码生成器全部模板,生成的表单默认为FormModel模式 新增示例:一对多JVxeTable 新增示例:JVXETable 省市县联动 Online表单,高级查询按钮布局问题 Online视图,恢复支持JS增强等功能 登录密码错误修改验证码 后台升级 进一步简化微服务开发模式,提供一系列的简易工具 单体和微服务 docker compose 脚本优化 代码生成器的数据库配置,改造默认走平台的配置 Excel多sheet导出导入例子 升级autopoi到1.3版本,poi升级到4.1.2 升级jimureport到1.2.1-RC版本,低代码报表优化 提供单体和微服务模块自动创建骨架archetype 登录后清除redis中验证码 重复check接口,sql注入检查 代码生成器,开关组件进一步优化 积木报表支持系统变量 Excel图片导出报错,本地upload情况下,ImageBasePath未设置 TomcatServletWebServerFactory重复注册问题处理 支持达梦数据库 取消jeecg-boot-starter-redis模块,合并到core中 消息推送采用redis发布订阅模式,支持集群 nacos server本地化采用jar方式启动,简化开发省掉nacos的安装 删除jeecg-cloud-example,合并到jeecg-cloud-system-start 修改xxljob执行器默认端口,防止默认9999端口冲突 集成xxl-job-2.2.0之后,注解没有删掉,导致启动报端口冲突 进一步优化重构分布式锁 新增几个单元测试类 Issues处理 Excel 导入注解name包含下划线抛出空指针异常#2004 导出图片到Excel,按照官方文档,导出报错#1811 账号登录安全问题#2207 excel 导出分隔符问题#1126 模板导出功能,#fe: 横向遍历怎么用不了呢 {{#fe:maplist t.xxx}} 是这样格式吧?#2139 Autopoi的@Excel注解 disctTable、dicCode dicText 导出解析不成功#2158 SQL注入漏洞#2201 建议优化Online表单开发代码生成器不能成功生成代码的错误日志#2234 积木报表API请求获得不到查询条件I2NXEV 字典导入window下能可 linux部署得环境下出错I35AUG 绕过验证码漏洞#2227 pop选择器列主键问题I29P9Q 最后一页中分页删除问题#2239 集成xxl-job-2.2.0之后,注解没有删掉,导致启动报端口冲突#2228 常见案例=>JVXETable示例(NEW)=>普通示例页面下高级示例 前端页面报错误!#2134 在数据库 mysql8.0.15 上报错#2268 微服务Feign调用Provider报错Token为空的问题#2263 教程里关于feign调用拿不到token的问题#2244 swagger密码访问不生效#2253 online报表中字段类型为长整形时,合计的显示能否不加.00,数值类型的时候加上.00#2279 feign 动态创建client,拦截器执行多次#2275 有个小BugI3854N feign调用 500错误I37PFB 微服务化后-cloud-demo项目导出无法和字典关联I37PNL FeignConfig重复#2286 部门管理员添加上级用户时缺失负责部门列I2SDU1 批量导入部门以后,不能追加下一级部门#2245 关于测边菜单遮挡内容问题详细说明#2255 屏幕适配#2224 Online表单开发功能,附表外键配置非主表主键问题#2281 用online报表配置设计的报表,每页会多出一条空行,导致分页总数合计不对#2242 数据量大时导出不能自动分批#2243 部门表太大导致的问题#2204 请求url里面带分号,绕过token校验#2256 字典【是否启用】按钮会错误的保存状态#2311 微服务部署下代码生成失效,单体模式下代码生成可用#2324 system服务和demo服务有办法同时使用xxl-job吗#2313 PermissionDataAspect.filterUrl() 方法有代码bug#2325 省市区组件无限递归#2335 为什么选择 JeecgBoot? 开源界“小普元”超越传统商业平台。引领低代码开发模式(OnlineCoding-> 代码生成器 -> 手工MERGE),低代码开发同时又支持灵活编码, 可以帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高开发效率,节省成本,同时又不失灵活性。 采用最新主流前后分离框架(SpringBoot+Mybatis-plus+Ant-Design+Vue),容易上手; 代码生成器依赖性低,灵活的扩展能力,可灵活实现二次开发; 开发效率很高,采用代码生成器,单表数据模型和一对多(父子表)、树列表等数据模型,增删改查功能自动生成,菜单配置直接使用(前端代码和后端代码都一键生成); 代码生成器提供强大模板机制,支持自定义模板风格。目前提供四套风格模板(单表两套、一对多两套) 封装完善的用户、角色、菜单、组织机构、数据字典、在线定时任务等基础功能。强大的权限机制,支持访问授权、按钮权限、数据权限、表单权限等 零代码在线开发能力,在线配置表单、在线配置报表、在线配置图表、在线设计表单 常用共通封装,各种工具类(定时任务,短信接口,邮件发送,Excel导入导出等),基本满足80%项目需求 简易Excel导入导出,支持单表导出和一对多表模式导出,生成的代码自带导入导出功能 集成简易报表工具,图像报表和数据导出非常方便,可极其方便的生成图形报表、pdf、excel、word等报表; 采用前后分离技术,页面UI精美,针对常用组件做了封装:时间、行表格控件、截取显示控件、报表组件,编辑器等等 查询过滤器:查询功能自动生成,后台动态拼SQL追加查询条件;支持多种匹配方式(全匹配/模糊查询/包含查询/不匹配查询); 数据权限(精细化数据权限控制,控制到行级,列表级,表单字段级,实现不同人看不同数据,不同人对同一个页面操作不同字段 在线配置报表(无需编码,通过在线配置方式,实现曲线图,柱状图,数据等报表) 页面校验自动生成(必须输入、数字校验、金额校验、时间空间等); 提供单点登录CAS集成方案,项目中已经提供完善的对接代码 表单设计器,支持用户自定义表单布局,支持单表,一对多表单、支持select、radio、checkbox、textarea、date、popup、列表、宏等控件 专业接口对接机制,统一采用restful接口方式,集成swagger-ui在线接口文档,Jwt token安全验证,方便客户端对接 接口安全机制,可细化控制接口授权,非常简便实现不同客户端只看自己数据等控制 高级组合查询功能,在线配置支持主子表关联查询,可保存查询历史 提供各种系统监控,实时跟踪系统运行情况(监控 Redis、Tomcat、jvm、服务器信息、请求追踪、SQL监控) 消息中心(支持短信、邮件、微信推送等等) 集成Websocket消息通知机制 提供APP发布方案: 支持多语言,提供国际化方案; 数据变更记录日志,可记录数据每次变更内容,通过版本对比功能查看历史变化 平台UI强大,实现了移动自适应 平台首页风格,提供多种组合模式,支持自定义风格 提供简单易用的打印插件,支持谷歌、IE浏览器等各种浏览器 示例代码丰富,提供很多学习案例参考 采用maven分模块开发方式 支持菜单动态路由 权限控制采用 RBAC(Role-Based Access Control,基于角色的访问控制) 系统功能模块 ├─系统管理 │ ├─用户管理 │ ├─角色管理 │ ├─菜单管理 │ ├─权限设置(支持按钮权限、数据权限) │ ├─表单权限(控制字段禁用、隐藏) │ ├─部门管理 │ ├─我的部门(二级管理员) │ └─字典管理 │ └─分类字典 │ └─系统公告 │ └─职务管理 │ └─通讯录 │ └─多租户管理 ├─Online在线开发(低代码) │ ├─Online在线表单 - 功能已开放 │ ├─Online代码生成器 - 功能已开放 │ ├─Online在线报表 - 功能已开放 │ ├─Online在线图表(暂不开源) │ ├─Online图表模板配置(暂不开源) │ ├─Online布局设计(暂不开源) │ ├─多数据源管理 - 功能已开放 ├─积木报表设计器(低代码) │ ├─打印设计器 - 功能已开放 │ ├─数据报表设计 - 功能已开放 │ ├─图形报表设计(支持Echart) - 功能已开放 │ ├─大屏设计器(暂不开源) ├─消息中心 │ ├─消息管理 │ ├─模板管理 ├─代码生成器(低代码) │ ├─代码生成器功能(一键生成前后端代码,生成后无需修改直接用,绝对是后端开发福音) │ ├─代码生成器模板(提供4套模板,分别支持单表和一对多模型,不同风格选择) │ ├─代码生成器模板(生成代码,自带excel导入导出) │ ├─查询过滤器(查询逻辑无需编码,系统根据页面配置自动生成) │ ├─高级查询器(弹窗自动组合查询条件) │ ├─Excel导入导出工具集成(支持单表,一对多 导入导出) │ ├─平台移动自适应支持 ├─系统监控 │ ├─Gateway路由网关 │ ├─性能扫描监控 │ │ ├─监控 Redis │ │ ├─Tomcat │ │ ├─jvm │ │ ├─服务器信息 │ │ ├─请求追踪 │ │ ├─磁盘监控 │ ├─定时任务 │ ├─系统日志 │ ├─消息中心(支持短信、邮件、微信推送等等) │ ├─数据日志(记录数据快照,可对比快照,查看数据变更情况) │ ├─系统通知 │ ├─SQL监控 │ ├─swagger-ui(在线接口文档) │─报表示例 │ ├─曲线图 │ └─饼状图 │ └─柱状图 │ └─折线图 │ └─面积图 │ └─雷达图 │ └─仪表图 │ └─进度条 │ └─排名列表 │ └─等等 │─大屏模板 │ ├─作战指挥中心大屏 │ └─物流服务中心大屏 │─常用示例 │ ├─自定义组件 │ ├─对象存储(对接阿里云) │ ├─JVXETable示例(各种复杂ERP布局示例) │ ├─单表模型例子 │ └─一对多模型例子 │ └─打印例子 │ └─一对多TAB例子 │ └─内嵌table例子 │ └─常用选择组件 │ └─异步树table │ └─接口模拟测试 │ └─表格合计示例 │ └─异步树列表示例 │ └─一对多JEditable │ └─JEditable组件示例 │ └─图片拖拽排序 │ └─图片翻页 │ └─图片预览 │ └─PDF预览 │ └─分屏功能 │─封装通用组件 │ ├─行编辑表格JEditableTable │ └─省略显示组件 │ └─时间控件 │ └─高级查询 │ └─用户选择组件 │ └─报表组件封装 │ └─字典组件 │ └─下拉多选组件 │ └─选人组件 │ └─选部门组件 │ └─通过部门选人组件 │ └─封装曲线、柱状图、饼状图、折线图等等报表的组件(经过封装,使用简单) │ └─在线code编辑器 │ └─上传文件组件 │ └─验证码组件 │ └─树列表组件 │ └─表单禁用组件 │ └─等等 │─更多页面模板 │ ├─各种高级表单 │ ├─各种列表效果 │ └─结果页面 │ └─异常页面 │ └─个人页面 ├─高级功能 │ ├─系统编码规则 │ ├─提供单点登录CAS集成方案 │ ├─提供APP发布方案 │ ├─集成Websocket消息通知机制 │─流程模块功能 (暂不开源) │ ├─流程设计器 │ ├─在线表单设计 │ └─我的任务 │ └─历史流程 │ └─历史流程 │ └─流程实例管理 │ └─流程监听管理 │ └─流程表达式 │ └─我发起的流程 │ └─我的抄送 │ └─流程委派、抄送、跳转 │ └─。。。 └─其他模块 └─更多功能开发中。。 系统截图 积木报表效果 大屏数据模板 PC端 手机端 PAD端 欢迎吐槽,欢迎star~

优秀的个人博客,低调大师

谈谈对于企业级系统架构的理解

云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 在我们刚开始学习架构的时候,首先会想到分层的概念,分层架构比较经典的是三层架构,那么,什么是三层架构呢?它包括表现层、业务层、数据访问层;而对于一个新手来说,从抽象意义上的三层架构,逻辑上就划分为三个层。 这个是最基本的三层架构模式。 表现层充当系统的界面呈现以及UI逻辑的角色,也就是说,UI(用户界面)属于表现层; 举一个对于asp.net WebForm来说,人们喜欢把对于UI的控制逻辑(服务器控件的读取、设置、事件等等)写在页面的后置隐藏代码中,并且依赖业务逻辑层。当然,服务器控件支持数据绑定的功能,可以通过数据源进行绑定控件。这样就可以节省在后置隐藏中的代码。 因此,我们就可以把表现层分为UI用户界面以及UI逻辑: UI用户界面的职责只是作为数据输入和输出后的展示工作。 UI逻辑的职责是负责业务逻辑层以及UI用户界面之间的数据交互,并且尽可能地让UI逻辑不依赖于UI技术。 其中UI用户界面的实现方式有很多,包括ASP.NET、WinForm、WPF、Silverlight、移动Web、智能设备等等。 将表现层中UI页面和UI逻辑分离的策略中,当前使用最多的两种模式是MVC模式和MVP模式。 MVC模式,即模型-视图-控制器模式,通过视图触发并执行某个操作,调用控制器,通过控制器去操作业务层,最终返回模型,在视图中进行展示。这里的模型可以是一个领域模型(DM),也可以是一个数据迁移对象(DTO)。 MVP模式,即模型-视图-展示器模式,和MVC模式有点像,不同的是MVP中视图和模型是被完全分离出来的,视图中定义一个接口,而展示器通过调用该接口的方法以控制视图。因此,视图和模型是松散的,展示器也充当了一个控制器的角色,同时它也不依赖于UI技术。 另外再介绍一种模式PM(Preentation Model),它可以说是MVP的变体,在PM中,视图不定义接口,这里的模型只是表示视图状态的类,视图中的元素被直接绑定到模型属性上。例如在WPF中,WPF就先天的具有数据双向绑定机制以及事件通知属性机制。 所以它特别适用于WPF,Sliverlight等等。 在开始业务层之前,不得不说一个前提,在一个小型项目中,直接让表现层调用业务层,足以解决所有问题。但是,当项目大到使用多种表现形式,如使用了各种UI技术、ASP.NET、WPF、移动设备等等,就要考虑在你的表现层和业务层之间增加一个层,以至于让表现层和业务层解耦,因为业务层作为一个业务中间件的平台,最好不要暴露于表现层中,这个层就是传说中的服务层。架构图又演化为: 服务层实际上并不执行任何具体的工作,其功能在于组织各个业务对象,服务层将业务层所有的细节对表现层都隐藏起来,服务器将组织业务逻辑层中的组件,并且通过数据迁移对象(DTO)与表现层交互,因此就产生一个DTO模型。 为了实现服务的可重用性,需要使用服务接口,表现层通过规定的接口访问功能。服务的实现继承服务接口,而服务的实现专注于业务层的调用。 对于服务层,常用的方法包括Web服务、.NET Remoting、Rest以及WCF技术。 本人比较建议使用WCF作为服务,因为可以方便地通过配置达到远程调用服务的目的。 服务层消除了两个表现层和业务层之间的耦合,服务层可以实现一个远程接口,达到多UI技术甚至多平台上的通信。 当然增加服务层也有缺点,假如使用WCF服务,会增加系统的调用开销,进而影响性能。 业务层中包含系统所需要业务过程上的实现,并与下层的数据访问层交互。 我们通常也叫做业务层叫做业务逻辑层,但我认为业务逻辑层是属于业务层的一方面,业务逻辑更专注于业务上逻辑算法的实现。因为业务层还可以包括其他的方面。 业务层必须包括对业务实体尽心建模的对象模型,表达了客户的所有策略和需求的业务规则,因此就产生了领域模型。 (PS:如果这里你不使用领域模型,那么需要采用业务规则层进行业务功能上的业务规则的验证和控制) 领域模型包括对实体的属性定义,方法定义以及实体与实体之间的关系。从这个角度上看,UML建模至关重要,通过对UML动态图和静态图的描述,可以映射到领域模型中。 从服务层刚才讲到了DTO模型,这里需要一个机制将DTO转化为领域模型,所以产生了DTO映射层(DTOMapper)。 另外业务层还包括核心中间件技术,包括第三方组件,以及工作流引擎等等。 业务层需要考虑到一些与数据访问层交互的设计模式,模式中包括事物脚本模式、表模块模式、活动记录模式、领域模型模式。 事物脚本模式是通过方法来执行业务流程,它是一个过程式模型,事物脚本的每个方法都有一个特定的事物脚本,它侧重于业务上一系列流程上的顺序操作,它实现起来很简单,但是它有个致命的缺点就是它会造成很多重复的代码。 表模块模式比起事物脚本模式,具有一定的结构,它的思想也很简单,每个数据表都定义一个业务组件(实体类,实体操作类),在.NET中更多的使用DataSet作为表模型的数据交互。但是它也有一个缺点就是它是从数据库驱动它不适合于大量的数据表以及数据表之间的复杂关系。 活动记录模式中的对象中,可以包含数据和方法。它接近于数据表的结构,它的对象中执行方法中可以包含CRUD操作,验证算法,以及其他的计算功能。一般来说,领域模型不是太复杂,活动记录模式是个好选择。当然他也存在问题,同样地,它对于复杂的业务上,维护的成本也很高,并且如果需求变更导致数据库修改,就需要调整记录对象模型中的相关代码。 经典应用:LINQ-TO-SQL以及Castle ActiveRecord。 领域模型模式是从领域驱动设计中衍生来的,它是以业务为核心的设计模式。它对于复杂的业务逻辑,相当适用。前三种方式使用的是以数据驱动方式,数据驱动方式特点简单,但是当系统到了一定的规模后,就会到难以维护的程度。 数据访问层的目的很明确,主要作为提供数据持久化的功能,包括数据的读取和写入,另外还必须包括事务处理,并发控制等等。 操作数据库的方法可以有两种方式:ORM方式、ADO.NET方式。 ORM可以采用一些第三方的ORM框架来实现,ADO.NET采用ASP.NET自带的数据库操作来实现。 不同的数据库具有不同的持久化实现,因此这里添加一个存储仓库接口层,来适应不同的数据库实现,这里你可以使用IOC依赖注入方式进行数据库选型,可以利用Unity、Spring.NET、Castle的IOC容器等等。 最后各个层中都可以依赖于公共基础设施层。 公共基础设施层可以包括Common通用模块、Logging日志模块、Exception异常模块、Configuration配置模块、DI依赖注入模块、单元测试模块以及第三方组件(例如NHibernate、Sprint.NET、Castle、Quartz计划任务等等) 最终图: 总结:项目类型、项目规模以及业务上的需求,都影响着系统架构的设计,系统架构并不是一层不变的,没有最好的架构,只有更好的架构,并且从项目中多思考系统的扩展性。 【云栖号在线课堂】每天都有产品技术专家分享!课程地址:https://yqh.aliyun.com/live 立即加入社群,与专家面对面,及时了解课程最新动态!【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK 原文发布时间:2020-07-31本文作者:CRM咨询本文来自:“51CTO”,了解相关信息可以关注“51CTO”

优秀的个人博客,低调大师

企业级 SpringBoot 教程 -springboot集成spring cache

声明式缓存 Spring 定义 CacheManager 和 Cache 接口用来统一不同的缓存技术。例如 JCache、 EhCache、 Hazelcast、 Guava、 Redis 等。在使用 Spring 集成 Cache 的时候,我们需要注册实现的 CacheManager 的 Bean。 Spring Boot 为我们自动配置了 JcacheCacheConfiguration、 EhCacheCacheConfiguration、HazelcastCacheConfiguration、GuavaCacheConfiguration、RedisCacheConfiguration、SimpleCacheConfiguration 等。 默认使用 ConcurrenMapCacheManager 在我们不使用其他第三方缓存依赖的时候,springboot自动采用ConcurrenMapCacheManager作为缓存管理器。 环境依赖 在pom文件引入spring-boot-starter-cache环境依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency> 创建一个book数据访问层 先创建一个实体类 public class Book { private String isbn; private String title; public Book(String isbn, String title) { this.isbn = isbn; this.title = title; } ….getter ….setter } 创建一个数据访问接口 public interface BookRepository { Book getByIsbn(String isbn); } 这个你可以写一个很复杂的数据查询操作,比如操作mysql、nosql等等。为了演示这个栗子,我只做了一下线程的延迟操作,当作是查询数据库的时间。 实现接口类: @Component public class SimpleBookRepository implements BookRepository { @Override public Book getByIsbn(String isbn) { simulateSlowService(); return new Book(isbn, "Some book"); } // Don't do this at home private void simulateSlowService() { try { long time = 3000L; Thread.sleep(time); } catch (InterruptedException e) { throw new IllegalStateException(e); } } } 测试类 @Component public class AppRunner implements CommandLineRunner { private static final Logger logger = LoggerFactory.getLogger(AppRunner.class); private final BookRepository bookRepository; public AppRunner(BookRepository bookRepository) { this.bookRepository = bookRepository; } @Override public void run(String... args) throws Exception { logger.info(".... Fetching books"); logger.info("isbn-1234 -->" + bookRepository.getByIsbn("isbn-1234")); logger.info("isbn-4567 -->" + bookRepository.getByIsbn("isbn-4567")); logger.info("isbn-1234 -->" + bookRepository.getByIsbn("isbn-1234")); logger.info("isbn-4567 -->" + bookRepository.getByIsbn("isbn-4567")); logger.info("isbn-1234 -->" + bookRepository.getByIsbn("isbn-1234")); logger.info("isbn-1234 -->" + bookRepository.getByIsbn("isbn-1234")); } } 启动程序,你会发现程序在控制台依次打印了: 2014-06-05 12:15:35.783 … : …. Fetching books 2014-06-05 12:15:40.783 … : isbn-1234 –> >Book{isbn=’isbn-1234’, title=’Some book’} 2014-06-05 12:15:43.784 … : isbn-1234 –>Book{isbn=’isbn-1234’, title=’Some book’} 2014-06-05 12:15:46.786 … : isbn-1234 –>Book{isbn=’isbn-1234’, title=’Some book’} 你会发现程序依次3s打印一行日志。这时还没开启缓存技术。 开启缓存技术 在程序的入口中加入@ EnableCaching开启缓存技术: @SpringBootApplication @EnableCaching public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } 在需要缓存的地方加入@Cacheable注解,比如在getByIsbn()方法上加入@Cacheable(“books”),这个方法就开启了缓存策略,当缓存有这个数据的时候,会直接返回数据,不会等待去查询数据库。 这时再启动程序,你会发现程序打印 isbn-1234 –>Book{isbn=’isbn-1234’, title=’Some book’} 2017-04-23 18:17:09.479 INFO 8054 — [ main] forezp.AppRunner : isbn-4567 –>Book{isbn=’isbn-4567’, title=’Some book’} 2017-04-23 18:17:09.480 INFO 8054 — [ main] forezp.AppRunner : isbn-1234 –>Book{isbn=’isbn-1234’, title=’Some book’} 2017-04-23 18:17:09.480 INFO 8054 — [ main] forezp.AppRunner : isbn-4567 –>Book{isbn=’isbn-4567’, title=’Some book’} 2017-04-23 18:17:09.481 INFO 8054 — [ main] forezp.AppRunner : isbn-1234 –>Book{isbn=’isbn-1234’, title=’Some book’} 2017-04-23 18:17:09.481 INFO 8054 — [ main] forezp.AppRunner : isbn-1234 –>Book{isbn=’isbn-1234’, title=’Some book’} 只有打印前面2个数据,程序等了3s,之后的数据瞬间打印在控制台上了,这说明缓存起了作用。

优秀的个人博客,低调大师

企业级java代码生成器 MagicalCoder

原文地址:https://my.oschina.net/u/3321345/blog/2990160 引言:日常工作中难免会遇到各种增删改查功能,不管是后端各种复用的CRUDsql,还是界面的各种操作,都占据我们大量的时间 今天给大家带来的是一款基于JAVAFX编写的高定制化的代码生成器;下载地址 www.magicalcoder.com 摘要:我希望的代码生成器应该具备以下几点 1 高定制化,生成什么样的增删改查应该可控 2 支持各类数据库:主流数据库比如mysql oracle sqlserver postgresql要应该支持 3 最好能提供一个脚手架,一键生成,开箱即用 4 能够自定义模板,提供非常优秀的模板编辑,这样我可以根据公司的框架来定制模板 5 能够很好的帮我解决 生成的代码和人为代码出现冲突,以便我可以无限复用模板 6 软件要看起来强大,好用 7 最后能帮我解决前端界面布局问题 开篇: 一 高定制化 我们遇到很多的代码生成器,大部分都是嵌入到各个框架中,一键生成;比如我希望能配置下拉属性,日期类型,富文本类型等等 可控 我们希望连字段的校验最好也在生成器中配置 配置你的查询条件 当然也要支持外键 列表选项是否默认排序 使用起来方便 自由拖拽 二 数据库支持强大的数据库支持引擎 连接数据库后 自动加载各种表 库 三提供一个脚手架 提供了一个基于Springboot的脚手架供大家免费使用 四 能够自定义模板 很多人希望自己配置生成器,让模板生成的代码到对应的代码路径 最重要的是,当我们想编写代码时,要给我们提供一个很好的界面 高亮的模板编辑,环境变量和模板引擎标签突出高亮,基于velocity 非常方便的协助我们进行模板编写,编写玩只需要点击预览 立刻看到结果 五冲突合并 有了这个功能,我们还用操心因为加字段带来的烦恼吗?产品经理随便加字段;我们放心大胆的修改生成后的代码,下次照样重新生成代码。体验无限复用 六最后能帮我解决前端界面布局问题 前端布局再也不求人了,精通后端 但又希望能开发前端小伙伴最能体会。只要你会js,前端布局不成问题 一款layui布局器,让你随心所欲,自由拖拽布局 体验地址:http://layuiout.magicalcoder.com/ 结语 我们远没有结束,代码生成器还在持续开发中,只有想不到,没有做不到 ... 来体验一把吧,免费

优秀的个人博客,低调大师

CentOS搭建企业级PPTP服务器

第一个里程碑:检查系统是否支持ppp 1 2 [root@m01 ~] # cat /dev/ppp cat : /dev/ppp : No such device or address 如果出现以上提示则说明ppp是开启的,可以正常架设pptp服务,若出现Permission denied等其他提示,你需要先去VPS面板里看看有没有enable ppp的功能开关。 第二个里程碑:设置内核转发 1 2 3 4 5 6 7 8 9 10 11 [root@m01 ~] # grep forw /etc/sysctl.conf # Controls IP packet forwarding net.ipv4.ip_forward = 0 [root@m01 ~] # sed -i 's#net.ipv4.ip_forward = 0#net.ipv4.ip_forward = 1#g' /etc/sysctl.conf [root@m01 ~] # grep forw /etc/sysctl.conf # Controls IP packet forwarding net.ipv4.ip_forward = 1 [root@m01 ~] # sysctl -p 第三个里程碑:安装pptp 1 [root@m01 ~] # yum -y install pptpd 注意:pptp软件的安装需要依赖与epel源。 第四个里程碑:配置pptp 1 [root@m01 ~] # cp /etc/pptpd.conf{,.bak} #配置前对配置文件进行备份 [root@m01 ~]#egrep -v "^#|^$" /etc/pptpd.conf option /etc/ppp/options.pptpd logwtmp localip 10.0.0.61 remoteip 172.16.1.160-190 配置文件说明: localip 添加本机公网IP remoteip 分配VPN用户的内网网段 第五个里程碑:vpn连接的用户和密码 1 2 [root@m01 ~] # tail -1 /etc/ppp/chap-secrets vpn * vpn * 说明:第一个vpn为用户名,第二个vpn为密码,第一个* 为允许登陆主机允许,第二个*为分配给客户端的IP地址。 第六个里程碑:启动pptp服务,设置为开机自启动 1 2 3 4 5 [root@m01 ~] # /etc/init.d/pptpd start Starting pptpd: [ OK ] [root@m01 ~] # chkconfig |grep ppt pptpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off 第七个里程碑:windwos客户端测试 1 注意,在连接之前,将vpn设置中的ipv4 下的高级选项中进行修改,将勾选取消掉 在windows主机上测试ping内网地址 1 2 3 4 5 6 7 8 9 [f:\~]$ ping 172.16.1.8 正在 Ping 172.16.1.8 具有 32 字节的数据: 来自 172.16.1.8 的回复: 字节=32 时间=3ms TTL=63 来自 172.16.1.8 的回复: 字节=32 时间=3ms TTL=63 172.16.1.8 的 Ping 统计信息: 数据包: 已发送 = 1,已接收 = 1,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 2ms,最长 = 3ms,平均 = 2ms

优秀的个人博客,低调大师

企业级ios应用开发实战》一导读

前 言 为什么写这本书随着我国3G网络和移动互联网的兴起,许多传统的企业应用正在从桌面向移动终端扩展,移动办公、移动营销、移动作业等需求日渐强烈。有迹象表明,传统的互联网正在向移动互联网发展。根据摩根士丹利发布的全球互联网发展趋势报告(Mary Meeker 2010)显示:全球互联网发展趋势正在由PC-Internet向Mobile-Internet转变,手机在某种意义上已经主导着互联网的发展,新兴的下一代互联网,即Mobile 2.0正在崛起,这完全得益于移动通信技术的迅猛发展。这不仅仅是一场由最新数码科技与网络技术导致的变革,还是传统企业应用从Internet向移动互联网转移的前提和诱因。与PC相比,移动终端的这种全新用户体验是不可替代的,在一定程度上吸引了人们从桌面向移动终端的转移。而且,移动互联网也凭借着其出色的业务

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册