智乐兔

企业级Java

  • 技术底层的变更:从Java8升级到Java17势在必行

    技术底层的变更:从Java8升级到Java17势在必行

    不久前Spring社区抛弃了Java8的框架生成支持,直接默认Java17,说明spring是下决心放弃Java8拥抱云原生时代的Java17生态。从Java 8 到 Java 20,Java 已经走过了漫长的道路,自 Java 8 以来,Java 生态系统发生了很多变化。最显着的变化是 Java 的发布节奏。Java 8 于 2014 年发布,Java 17 于 2021 年发布。这两个版本之间相隔了 7 年。Java17是一个长期支持(LTS)的版本,会有更稳定和持久的维护和更新。Java8一直用得很好,为什么要升级到Java17呢?这就不得不研究一下从8到17发生了什么变革。 1.局部变 ...

    查看全文

  • Java项目还在用mybatis,写sql吗?

    Java项目还在用mybatis,写sql吗?

    本文只谈SQL的拼装。使用springboot搭建web项目,数据库的操作是重要一环。几乎清一色的后端框架,用的是mybatis、mybatis plus套装。其实,可以简化。 不评价MM框架的优劣。看一下web项目对数据库操作的需求是什么?作为一个支撑系统的研发者,要求高性能的DB操作,还要求高自定义的动态查询。若论性能,jdbc直连性能最高,SQL直接写在dao层,直接与jdbc驱动交互。不过直接操作jdbc的弊端是有大量代码冗余,结果集拼装时需要做map到bean的属性copy,性能也有影响。另外,根据动态查询条件拼装SQL查询语句,需要手动从参数取,再判断是否为空,如果为空则不拼装这个 ...

    查看全文

  • wldos平台2.0核心模块布道之应用市场和服务网格架构

    wldos平台2.0核心模块布道之应用市场和服务网格架构

    其实,在疫情期间 wldos1.5 版全部开源的前夕 2.0 的 wldos 平台已经呼之欲出了。那么,2.0 的 wldos 平台将会带来哪些惊世骇俗 ^^ 的改变呢?下面粗糙地描述一下吧! 2.0 最重要的一个升级是应用管理,直接跃迁为应用市场,你可以理解为 App Store。有了应用市场,开发者可以基于 wldos 支撑平台上开发自己的特性程序,然后发布在 wldos 应用市场,wldos 平台的用户可以在线选择安装这个特性程序从而扩展他的 wldos 平台。应用市场常见,但 SaaS 界开源的应用市场不常见! 2.0 另外较重要的升级是对分布式架构的支撑,这是一种类似漫游的服务网格架 ...

    查看全文

  • WLDOS平台正式启动开源了

    WLDOS平台正式启动开源了

    首先,本平台是为了推动数字时代尽快落地,为了开辟新的业态而研发,旨在抛砖引玉。 解决痛点:想利用网络化拓展业务,对如何拓展业务有困惑,需要一个可落地的软件搭建平台。 品牌战略:技术人的优势在于随时可以变成现实。WLDOS(拼音[wou da si],全拼:World Operating System)平台通过开源社区、线上服务和业态孵化三个纬度落地实践。 WLDOS平台发展模式:开源生态+托管服务+延伸业态。 机会点:通过插件化的应用架构给全体开发人提供一个扩展的舞台,人人可以增加自己的插件;通过多域、多租和多应用的支撑平台提供支持虚拟域的SaaS服务,人人可以托管自己的业务;通过扩展特性功能 ...

    查看全文

  • Java语言开发的SaaS版前后端分离开发平台WLDOS

    Java语言开发的SaaS版前后端分离开发平台WLDOS

    WLDOS是World operation system或者World open system的缩写,表示驱动世界的开放系统,我们的理念是简化世界的复杂度,用一套系统协助解决所有问题。WLDOS是一个类SaaS(软件即服务)的云应用开发支撑平台,同时也是一个准系统,支持快速展开二次开发实现符合互联网需求的软件平台。 另解: WLDOS平台,基于springboot实现的轻量级快速开发框架,SaaS应用架构。默认支持多租户运行模式,同时支持关闭以单租户模式运行。 默认单实例运行,在分布式部署方面支持融入serviceMesh架构或者传统中心化分布式架构。WLDOS®寓意:世界的,未来的和开放的 ...

    查看全文

  • 纯java实现的网页内容采集器采集到wordpress,简约而不简单

    纯java实现的网页内容采集器采集到wordpress,简约而不简单

    收集者网页采集器 基于正则表达式实现的纯Java网络内容采集器,专门为wordpress网站定制。 采集任务主类:com.zhiletu.collect.Collecter 默认定时器类:com.zhiletu.collect.UdastConfigServlet 涉及子功能: 1.正则表达式匹配文本和url 2.HTTPclient抓取网页 3.图片转格式与压缩 4.中文分词与文章高频词统计 5.定时执行采集任务 6.采集规则读取、驱动 7.采集数据存储到数据库 8.读取数据库配置文件 9.图片下载并保存到指定目录 10.对文章高频词查询百度词典,并存储到词典库 11.支持采集接口,并对返回 ...

    查看全文

  • 如何解决emoji符号存储到mysql数据库乱码的问题

    如何解决emoji符号存储到mysql数据库乱码的问题

     出现乱码问题的原因是MySql的utf-8编码只支持3个字节的数据,而移动端的emoji是四个字节的数据,如果直接往utf-8编码的数据库中插入表情,就会报上面的错误。 第一种解决办法是数据库的编码修改,修改为utf8的超集utf8mb4支持4个字节的字符。   utf8mb4编码兼容utf-8,是utf-8编码的超集,能存储4字节的表情字符。   1,将存储表情字符的数据库表改为utf8mb4,   2,utf8mb4支持的数据库版本最低为5.5.3+。   3,修改mysql配置文件my.cnf(windows为my.ini)。     [client]     port=3306    ...

    查看全文

  • 如何避开java的动态代理用反射机制优雅地解耦

    如何避开java的动态代理用反射机制优雅地解耦

    基于java反射机制实现的动态代理总是在调用代码里带着被代理类的小尾巴,比如:UserService proxy = (UserService) Proxy.newProxyInstance(classLoader, interfaces, logHandler); 这里的UserService就是被代理类的接口,既然要封装被代理类的内部实现,那么还要拿他们的接口类写到主调方代码里就不干不净了,主调方每次调用时都要考虑被代理方有没有变更,变更了还要改调用逻辑,着实鸡肋。下面的代码提供一种完全封装被代理类的演示方案,调用方在代码层面不需要使用被代理类的接口来接收返回,这就给调用方和被调用方实现 ...

    查看全文

  • 使用spring约定的java代码格式开发应用平台需要注意的点

    使用spring约定的java代码格式开发应用平台需要注意的点

    一、gradle组织下的项目目录如下: spring-boot –主项目名称 –.github –github目录 .gradle –执行gradle wrapper包装器后生成的gradle运行缓存 .idea –idea的配置 build –编译扫描配置 buildSrc –springboot使用gradle编译依赖的类和库,配置文件,项目编译结果 ci –持续部署相关配置 eclipse –恶心的eclipse相关配置 git –官网拉下来的,git相关配置吧 gra ...

    查看全文

  • springboot采用gradle后源码的编译针对Maven做了哪些兼容处理

    springboot采用gradle后源码的编译针对Maven做了哪些兼容处理

    springboot源码针对Maven做了一些默认处理,分别是对项目应用Maven发布能力、添加Maven仓库支持能力、默认创建Maven格式发布声明。 通过这些默认处理,如果触发了Jar打包任务,则对项目的java组件执行Maven发布操作,这些底层的操作是由gradle实现的,包括对Jar任务的定义,对java相关文件的定义。 默认支持三种类型:java类的jar包、web类的war包和Java平台级组件。gradle的世界观就是面向开发环境定义世界并驱动世界。这样下去,将出现具有”自省”能力的编译系统。 /** * A plugin applied to ...

    查看全文

  • springboot源码编译、发布和文档的处理方式

    springboot源码编译、发布和文档的处理方式

    springboot源码编译、发布和文档的处理方式是事先约定在程序里面的。springboot对其源码的处理默认执行了三次约定应用,他们分别是Java开发环境的约定、基于Maven的代码发布约定和基于ASCIIdoctor的文档生成约定。 对应的插件类源码如下: /** * Plugin to apply conventions to projects that are part of Spring Boot's build. * Conventions are applied in response to various plugins being applied. * ...

    查看全文

  • springboot编译任务里有关资源抽取的实现逻辑

    springboot编译任务里有关资源抽取的实现逻辑

    资源抽取是指对类似*.properties等属性配置资源文件的提取,springboot团队对springboot源码的资源提取机制做了专门的实现。 springboot编译任务对资源抽取的实现逻辑: public class ExtractResources extends DefaultTask { /** 定义一个占位符助手:前后缀分别为${、} */ private final PropertyPlaceholderHelper propertyPlaceholderHelper = new PropertyPlaceholderHelper("${", "}"); ...

    查看全文

在线客服
在线客服 X

售前: 点击这里给我发消息
售后: 点击这里给我发消息

智乐兔官微