jfinal

dubbox粗记

旧街凉风 提交于 2019-12-02 05:00:41
一直在用dubbo2.5。今天花了一天时间研究了当当网的dubbox项目并在本地运行,粗略记录一下认识。 dubbox的主要升级点: 1、dubbox弥补了dubbo中没有REST框架的不足,但REST性能指标比RPC要差,非业务必要性要求首选RPC。已有的dubbo服务端服务可以通过dubbox快速包装为REST风格的服务。不管怎么说,在跨语言和多种前端对应时还是很有需要REST调用的。 2、几种序列化方式的增加,Kryo成为首选。dobbo RPC默认使用的hessian2确实有Bug,我们在项目中也遇到过。 3、其它一些升级和小改动 升级的必要性: 1、新项目建议升级使用dubbox,除了REST框架这一块有一定的学习成本外,其它可以从dubbo本身无缝沿用。 2、现有稳定运行项目没有遇到跨语言场景或需要全面开放REST调用框架包装支持,业务场景仅限于RPC调用可以不考虑升级。 3、dubbox需要手动maven安装和上传到私有库,目前没有在maven公库上发布 4、dubbx现在有当当网在维护,而dubbo基本这几年处于无人问津的状态,从项目可靠度和风险度来考虑建议使用dubbox。 关于未来: 1、考虑后端架构从dubbo切换到Jdubbox。 2、JFinal可以考虑直接支持dubbox了,而不是当初说的dubbo。 3、无论是dubbo还是dubbox

【国庆优惠】JFinal开发者计划,省心、省事儿、极速开发

微笑、不失礼 提交于 2019-11-30 18:04:59
中秋活动已过,国庆将至。 许多中秋没有计机会参与优惠活动的,这个月底,来机会了! JFinal开发者腾飞计划,让你学习,开发,省心,省事儿,极速。 详情链接: https://www.jfinal.com/share/1696 特价优惠:原价1999元,优惠特价:1680元。 微信扫码进入小程序 凡是购买过JFinal相关的任何课程、资源、服务的都可以享受特殊优惠,只要你联系我。 咨询加入,加我微信: mumengmeng 来源: https://my.oschina.net/imhoodoo/blog/3113099

JFinal 整合 Hasor 之后 JFinal 会更强!!

若如初见. 提交于 2019-11-30 05:05:55
Hasor 2.5.1 版本开始 支持深度整合 JFinal。整合之后您在使用 JFinal 时候会更爽快,JFinal 会变得更强! IoC/Aop 支持 Controller 通过 @inject 注解进行依赖注入服务。 被注入的服务支持 IoC/Aop。 被注入的服务支持 初始化 init 调用。 接口可以被直接注入,接口定义通过 @ImplBy 指定实现类。 被注入的服务支持 @Singleton 单例。 数据库操作方面 提供三种途径控制事务,支持七种事务传播属性,标准的事务隔离级别,Spring 有的 JFinal 都会有。 数据库嵌套事务,多层嵌套事务,不设上限 Hasor 的 JdbcTemplate 数据库操作接口,与 Spring 的 JdbcTemplate 功能 90% 相同。 分布式 RPC 搭配 Hasor-RSF 框架之后,Hasor 可以为 JFinal 提供分布式服务的能力。 有关 RSF 请查阅: https://www.oschina.net/p/Hasor-RSF Web 方面 (暂略) 集成小建议,视您情况自行选择 HasorPlugin,必选,JFinal 中 Hasor 容器启动和销毁。 HasorInterceptor,可选,JFinal 拦截器,为 JFinal 提供 IoC/Aop功能。 HasorDataSourceProxy

JFinal框架学习-----cache的简单使用

谁说胖子不能爱 提交于 2019-11-30 04:56:13
一.关于缓存 Web缓存是指一个Web资源(如html页面,图片,js,数据等)存在于Web服务器和客户端(浏览器)之间的副本。缓存会根据进来的请求保存输出内容的副本;当下一个请求来到的时候,如果是相同的URL,缓存会根据缓存机制决定是直接使用副本响应访问请求,还是向源服务器再次发送请求。比较常见的就是浏览器会缓存访问过网站的网页,当再次访问这个URL地址的时候,如果网页没有更新,就不会再次下载网页,而是直接使用本地缓存的网页。只有当网站明确标识资源已经更新,浏览器才会再次下载网页。因此很好的使用缓存技术能够大大提高性能。 二.缓存的作用 减少网络带宽消耗(当Web缓存副本被使用时,只会产生极小的网络流量,可以有效的降低运营成本)。 降低服务器压力(给网络资源设定有效期之后,用户可以重复使用本地的缓存,减少对源服务器的请求,间接降低服务器的压力。同时,搜索引擎的爬虫机器人也能根据过期机制降低爬取的频率,也能有效降低服务器的压力)。 减少网络延迟,加开页面打开速度。 三.JFinal中Cache缓存的使用 在JFinal中,默认的缓存实现时使用EhCache。 1.Cache的相关配置: 引入ehcache的jar包 在src包下新建ehcache.xml文件,里面为ehcache的基本配置 <ehcache xmlns:xsi="http://www.w3.org/2001

JBolt开发平台入门(13)-自动化组件 autocomplete

戏子无情 提交于 2019-11-30 03:57:09
在开发中,有些业务简单的select可以满足,在复杂点 AutoSelect组件可以满足 AutoSelect组件已经可以满足配置几个html属性 就能完成数据自动加载、组装、显示、个性化、校验、自动选中默认值等 最近JFinal开发者计划成员群里有人喊需要autocomplete组件,在input上输入个关键字,希望通过关键字去数据库里查询相关数据 做成可选项,提供给用户选择 大体效果如下: 这是高级版可以通过属性配置显示数据里的哪些列,自动处理。 普通版最省心了,只要声明一下是个autocomplete组件 给一个数据源地址就行了 默认的拿着id当选中的值,name当选中的文本,如果model实现了option接口,有text和value也能自动识别显示。 这是默认配置: 具体看看代码里的配置项: 还能做到自动完成,自动校验,在数据里高亮输入部分。 那么,就这样一套完整的组件逻辑,传统开发是需要自己集成js库,写js代码等,后端还要写指定的接口,接口代码里要根据组件传值自己构建数据库查询和service。 JBolt里前端做了自动化,后端也做了适配性的底层封装。 在Controller里调用可简单了一行搞定 调用底层service封装方法 更多教程: https://www.jianshu.com/p/a18b61aa298a JFinal开发者计划: https://www

像Go一样写Java,从Go的特性,讨论一种编程风格。

非 Y 不嫁゛ 提交于 2019-11-29 15:41:48
上篇转帖的blog里面提到了Go的特性,作为编写Java时也可以给自己点编程风格的参考。 下面是提到的改进 下面简单学习和分析一下重点的风格提示,领会Ken和Pike的编程思想: 规范的语法(不需要符号表来解析) 垃圾回收(独有) 无头文件 明确的依赖 无循环依赖 常量只能是数字 int和int32是两种类型 字母大小写设置可见性(letter case sets visibility) 任何类型(type)都有方法(不是类型) 没有子类型继承(不是子类) 包级别初始化以及明确的初始化顺序 文件被编译到一个包里 包package-level globals presented in any order 没有数值类型转换(常量起辅助作用) 接口隐式实现(没有“implement”声明) 嵌入(不会提升到超类) 方法按照函数声明(没有特别的位置要求) 方法即函数 接口只有方法(没有数据) 方法通过名字匹配(而非类型) 没有构造函数和析构函数 postincrement(如++i)是状态,不是表达式 没有preincrement(i++)和predecrement 赋值不是表达式 明确赋值和函数调用中的计算顺序(没有“sequence point”) 没有指针运算 内存一直以零值初始化 局部变量取值合法 方法中没有“this” 分段的堆栈 没有静态和其它类型的注释 没有模板 没有异常

JBolt开发平台入门(13)-自动化组件 autocomplete

我的未来我决定 提交于 2019-11-29 07:29:06
在开发中,有些业务简单的select可以满足,在复杂点 AutoSelect组件可以满足 AutoSelect组件已经可以满足配置几个html属性 就能完成数据自动加载、组装、显示、个性化、校验、自动选中默认值等 最近JFinal开发者计划成员群里有人喊需要autocomplete组件,在input上输入个关键字,希望通过关键字去数据库里查询相关数据 做成可选项,提供给用户选择 大体效果如下: 这是高级版可以通过属性配置显示数据里的哪些列,自动处理。 普通版最省心了,只要声明一下是个autocomplete组件 给一个数据源地址就行了 默认的拿着id当选中的值,name当选中的文本,如果model实现了option接口,有text和value也能自动识别显示。 这是默认配置: 具体看看代码里的配置项: 还能做到自动完成,自动校验,在数据里高亮输入部分。 那么,就这样一套完整的组件逻辑,传统开发是需要自己集成js库,写js代码等,后端还要写指定的接口,接口代码里要根据组件传值自己构建数据库查询和service。 JBolt里前端做了自动化,后端也做了适配性的底层封装。 在Controller里调用可简单了一行搞定 调用底层service封装方法 更多教程: https://www.jianshu.com/p/a18b61aa298a JFinal开发者计划: https://www

JFinal教程JfinalUIB 代码笔记 (4)--- 高仿mybatis的sql的集中管理

老子叫甜甜 提交于 2019-11-29 07:14:07
实现sql的集中管理,简单的把一些固定长度的sql移植进xml很简单,这没有什么好多说的,关键问题是我们平时处理的sql,有大量是动态长度的,比如说最常见的就是多条件的分页查询,往往我们会在代码中写大量的if else,想把这些移植进xml就比较困难了,完全仿制ibatis来做xml标签工作量太大,最省事的处理方法就是能不能直接把Java代码的逻辑处理方式移植进xml,然后对逻辑代码进行解析,绕开那一大堆的xml标签定义,下面就是jfinaluib中的处理方式: 1.0 暂时还是用的拼接,没有预处理,难点就是不是做到解析sql中表字段的类型对应的Java数据类型 <?xml version="1.0" encoding="UTF-8"?> <sql-statement namespace="pingtai.user"> <!-- 动态SQL处理 --> <sql id="splitPage"> <![CDATA[ from pt_user u left join pt_userinfo ui on u.userinfoids = ui.ids left join pt_department d on u.departmentids = d.ids where 1=1 <% if(!isEmpty(userClass)){ %> and u.userClass = '

搞定了微信小程序富文本渲染解决方案-后端渲染方案Html2Wxml2J

孤人 提交于 2019-11-29 06:16:42
先介绍一下最近遇到的问题: 最近小程序项目中有文章详情页需要渲染富文本,微信小程序官方提供的<rich-text>是个弱鸡,很多标签不支持,用起来也麻烦,性能也不咋地。 吐槽完了,我们决定寻找其他方案- wxParse ,一个小程序前端使用的javascript库,前端直接转换渲染。使用到了微信小程序的模板渲染,但是依然弱鸡,经常出现各种Javascript错误,很多标签不兼容。 我们的需求是 一篇文章详情图文Html标签正常解析,就连视频和音频,常见Html标签,代码标签都要渲染出来。 起初,我想的也是在微信小程序端,使用JavaScript处理这些编译渲染的工作,或者拿到 WxParse 的代码去改改。 无奈,我的JavaScript水平虽然不是弱鸡,单也耗时费力。于是我就转变思路寻找服务器端的解决方案,将需要渲染的Html在后端处理好,然后前端根据配置的模板动态渲染。 这个思路敲定以后,非常幸运地在开源中国码云里找到了一个靠谱的项目- html2wxml 这个项目有好几种使用方式: 第一种、插件版 1、需要使用者在微信小程序后台,添加html2wxml这个第三方插件服务,在小程序里配置一下这个插件,就能自动加载和使用了,非常方便。 2、添加完插件后,需要在微信小程序项目里配置一下这个插件:注意version版本号和appid 代码如下: "plugins": {

最近研究如何加速UI界面开发,有点感觉了

独自空忆成欢 提交于 2019-11-29 02:59:21
最近在开发JFinal学院的JBolt开发平台,后端没啥说的,做各种极简使用的封装,开发者上手直接使用。 JBolt开发平台包含常用的用户、角色、权限、字典、全局配置、缓存、增删改查完整模块、电商模块、小程序和微信公众号管理等。能极大提高二次开发效率,一周内做自己的电商小程序,上线服务号管理也没问题。 后端开发没什么难度,主要是很多小伙伴针对前端开发有点头疼,大家感觉前端Html、css、Javascript传统三大件配合起来,好难好难。 美感不足,css写不好,html布局写不好,js特效代码会写,效果调整不好。后端程序员之殇啊! 为了让开发UI尽量少写和不写CSS、JavaScript,我最近也是尝试封装了很多组件,做到开发者拿来就用,不写css和js。 看一下效果: 来源: oschina 链接: https://my.oschina.net/u/374/blog/3028343