NHMicro 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
NHMicro 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
NHMicro 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 Java Groovy
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 杰睿宁
适用人群 未知
收录时间 2017-06-23

软件简介

MVC 框架的缺点:

  • 系统按照Controller、Service、Dao层次划分,虽然在建设初期技术结构清晰。但每个业务逻辑代码都分散到不同代码框,业务结构不直观,不利于后期业务重构。

  • 业务代码与MVC技术栈深度耦合,某层技术框架升级,导致整体服务不可复用。

  • 由于代码分散,支持版本化成本很高。

              

脚本化微服务(NHMicro开源框架)实现MVC反模式

Controller 层改造

使用微服务交互接口取代Controller,或者仍使用原有Controller技术栈,但调用NHMicro微服务提供的脚本调用Util。

Service 层改造

uService层功能代码脚本化,脚本化有利于快速调整调用流程,有利于版本化。

Dao 层改造

统一封装Dao(NHMicro开源框架已经提供Dao封装),基于Spring-jdbcTemplate封装统一Dao。

 

脚本化微服务(NHMicro开源框架)-实现技术栈中的虚拟机

NHMicro微服务架构中交互层和dao层不含有业务属性,需求变更时不需要修改微服务交互层代码和微服务Dao层代码。

特点

  • 一个脚本实现一个业务功能,业务框架清晰。

  • 脚本内容修改后,设置新的名称,可以和旧脚本部署在同一个系统中,实现版本化。

  • 脚本可以被复制到另一个不同MVC栈的系统中,实现代码复用。

  • NHMicro微服务架构是Java技术栈中的虚拟机,一次脚本编写到处复用。

 

项目

  • micro-rule-engine 项目为脚本化核心引擎,核心引擎基于groovy技术实现,支持groovy脚本热加载。服务业务逻辑均使用groovy实现脚本化。

  • nh-micro-db项目为标准化dao层,标准化dao层基于jdbctemplate封装,同时支持MySQLOracle,可以在框架外单独使用。忽略orm映射功能,内置根据id进行增删改查接口,强化参数类型兼容性。使开发人员不必关系查询条件参数或查询结果的数据类型。提高开发效率。

  • nh-micro-template为nh-micro-db层工具化封装,可以快速构建增删改查应用。目前支持mysql,后续支持oracle。自动过滤参数中有效字段。如果使用mysql5.7+版本,支持动态字段功能。可以在insert或update时自动创建不存在的字段。动态字段功能基于mysql的json字段实现,没有ddl操作,不受运维制约。封装sql模板功能,可以实现mybatis相同的功能。

  • project-demo项目为使用nh-micro框架的完整演示,同时也是脚本微服务的默认的开发平台和默认运行容器。

  • nh-micro框架可以与任何使用spring框架的技术栈兼容,因此project-demo项目并不是必须的运行环境和开发技术栈环境。

  • project-demo 项目,内置的登录,用户管理,角色管理,部门管理,菜单管理,字典管理等基础功能。

这些功能均使用groovy脚本实现,可以直接使用project-demo项目进行业务开发,也可以将nh-micro技术框架移植到开发人员自有项目中使用,使开发人员有更高的起点更关注业务实现,而不是重复进行基础功能实现。后续会添加封装好的业务功能groovy脚本,方便快速支撑业务。

project-demo 项目运行界面如下

 

 

提示:建表sql在项目的readme中

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(5)
发表于大前端专区
2019/05/14 17:30

NHMicro 1.2.9 发布,支持 Service 层的 SQL 替换

NHMicro 1.2.9 发布,此版本支持在service层做sql模板替换后的增删改查操作 MicroServiceTemplateSupport类中添加方法 public Map getInfoList4PageServiceByRep(String countSql,String sql, Map paramMap, Map pageMap) public Integer updateInfoServiceByRep(String sql,Map paramMap) public List getInfoListAllServiceByReq(String sql,Map paramMap) public Map getSingleInfoServiceByRep(String sql,Map requestParam...

2
5
发表于大前端专区
2018/01/19 17:40

NHMicro 1.1.10 发布,支持 springcloud 热部署

NHMicro 1.1.10 发布,支持 springcloud 热部署。 springcloud按照可运行jar包部署时,通过micro-git-sync模块启动时和运行时自动同步远程git仓库中脚本,实现脚本热部署。 使用micro-git-sync模块优点是: 1, 使应用按照可执行jar包运行时,也支持脚本热部署。 2, 准实时自动加载远程git中的新脚本代码。 3, 可以按照指定版本加载脚本。 SpringCloud整合 demo 工程为 micro-springcloud-demo 更多详细信息请查看:https://m...

0
14
发表于大前端专区
2018/01/18 10:51

NHMicro 1.1.9 发布,支持与 springcloud 整合

NHMicro 1.1.9 发布,支持与 springcloud 整合 整合后 SpringCloud 的 controller 只需编写接口,在接口中配置 SpringCloud相关注解,业务实现在 groovy中编写,支持热部署。 SpringCloud整合 demo 工程为 micro-springcloud-demo 更多详细信息请查看:https://my.oschina.net/jeffreyning/blog/1608918...

0
7
发表于大前端专区
2018/01/16 13:39

NHMicro 1.1.8 已发布,该版本支持与 springmvc 整合

NHMicro 1.1.8 已发布,该版本支持与 springmvc 整合。 整合后 Springmvc 的 controller 只需编写接口,在接口中配置 springmvc 相关注解,业务实现在 groovy中编写,支持热部署。 springmvc 整合 demo 工程为 micro-springmvc-demo 详见:https://my.oschina.net/jeffreyning/blog/1607794...

0
10
发表于大前端专区
2018/01/12 10:28

NHMicro 1.1.7 发布,支持 MVC 各层代码热部署

NHMicro 1.1.7 已发布,该版本添加了 micro-mvc 模块。 micro-mvc框架,借助 nhmicro 框架和 groovy 技术使所有的 controller、servicebean、dao 和 sql 脚本都支持动态热部署和调试。 详见:https://my.oschina.net/jeffreyning/blog/160594

4
4
发表了资讯
2017/07/26 15:41

NHMicro 添加互金产品与账户功能模板

NHMicro 新版发布,更新内容如下: NHMicro 添加 p2p 互联网金融理财功能模板,包括理财产品查询、账户管理等相关后台和页面。 添加面向互联网用户的定期理财产品列表页面和后台管理功能 点击购买,可以显示产品详细信息。 包括预期年化收益率,项目期限,项目金额,项目介绍等。 点击立即抢购,弹出订单支付页面。可以使用余额支付。 可以从互联网查看登录用户账户信息、交易信息和投资信息

1
18
发表了资讯
2017/07/20 15:37

脚本化微服务开源框架 NHMicro 添加信审功能

nhmicro添加信审功能 营业部进件质检通过后,会推送到信审表中,并启动信审审批流程。 在信审列表页面中,显示审核中和审核结束的进件记录。 点击查看,可显示进件详情,对已经结束的审批可点击重启流程重新审批。 信审初审列表,显示处于初审状态的进件记录。 点击信审初审审批,打开审批页面,此时初审tab页中显示初审提交按钮。 可填写初审意见并提交。 信审终审列表,显示处于终审状态的进件记录。 点击终审审批,打开审批页...

0
9
发表了资讯
2017/07/19 16:48

NHMicro 添加贷款进件管理与合同模板管理功能

nhmicro添加进件管理功能 提交贷款进件、查看修改进件信息、上传附件、提交审批。 进件列表中点击添加,打开贷款进件申请录入页面 进件列表页面中可查看已录入进件记录 点击启动审批,提交至部门质检进行审批 营业部审批列表页面中,可以查看待审记录 点击进件质检审批,打开进件信息页面 在营业部质检tab页中提交审批意见 nhmicro添加合同模板管理功能 在合同模板列表中创建记录,上传word(2003版)合同模板文件,点击编译后就...

0
12
发表了资讯
2017/07/17 17:37

nhmicro 版本更新,添加产品中心功能

基于nhmicro框架封装了产品中心功能:包括产品信息增删改查、阶梯利率设置、本金利息服务费算法实现、还款计划试算。 相关脚本已经上传github https://github.com/jeffreyning/nh-micro 相关脚本有: Micro_product_center_list.groovy,现实产品列表和产品信息增删改查功能。 Product_algo_repayplan.groovy,实现还款计划试算功能。 Product_algo_fuwufei_yicixing.groovy,实现服务费(一次性服务费)计算功能。 Product_algo...

2
11
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
5 评论
98 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部