Java后端底座从无到有的搭建(随笔)

这篇具有很好参考价值的文章主要介绍了Java后端底座从无到有的搭建(随笔)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言:本文是笔者在初创公司,一年多来Java后端服务底座搭建过程的总结,如有不当之处,还请各位大大指正。

开发模式的演变

草创时期

  该阶段是笔者跟随leader从大厂跳槽到初创公司的前两个月,这两个月公司内部只有我们两个后端(严格来说是四个,还有两个实习生),我们几个人当时开发后端服务的时候还是处于野蛮生长阶段,就是直接通过idea的spring项目快速生成器来构建一个项目的,如下图:
Java后端底座从无到有的搭建(随笔),Java,java,开发语言
当时我们(主要是我还有两个实习生)并没有意识到这样做会有什么问题,都觉的理所当然,所有的教程辅导资料都是这么教的,不这样建还能怎么建,难道手写?不可能,绝对不可能!!!
  其实当时leader已经在暗搓搓的发力了。在我们还在纠结Java 持久层框架是否使用mybatis-plus,代码生成器使用哪个插件的时候,leader已经把他设想中的所有工具内嵌入公司的基础底层框架中了。这里就就不得不提到另外一个项目搭建工具了——archetype,它是maven自带的一个maven工程创建工具,可以通过自定义模板来生成对应的应用架构。我们当时还不理解这个东西是怎么用的,原理是什么,只是在某一天leader和我们说:“今后公司的所有工程项目的创建都是用这个框架来实现。” 然后我们就进入了服务端开发的1.0 时期。

1.0时期(基座时期)

  这个阶段定下了公司后续所有项目结构的基本风格,为后续版本的迭代开发提供了坚实的理论依据(其实就是方便后来的一些小白读懂代码,也有一点方便我们改代码的意思在里面)。
  上面这句话并不是BOSS的原话,不过意思差不多,后面这一年多的开发过程我们的确深有感触。当你接触其他人写的新项目的时候,你会发现项目结构是如此的相似,持久层、业务层、控制层的关系是如此的明显,以至于你会有一种一切尽在掌控中的感觉,这为你接手新项目并进行相应的迭代更新打造了一个良好的开头。不得不说这一步棋的确是点睛之笔,秒到绝巅(拍彩虹屁,略略略~~)
  当然光有项目骨架是毫无用处的,它只能帮你搭建一个抽象的架构,具体的业务逻辑有哪些、代码需要如何去写这又是我们要思考的问题了?
  后端服务的业务逻辑归根结底无外乎就是对数据的crud,那么其实只需要有业务表结构,我们是否就可以一键生成对应的crud代码,从而无需开发一些简单的业务逻辑?答案是显而易见的——可以。
  大约是进入公司的第三个月底到第四个月初,leader基于freemarker模版组件写了一个属于公司内部的代码生成器插件,其实本质上和通用工具中的代码生成器没有太多的区别,唯一一点的区别就是它是高度适配公司的基础架构,可以做到只配置数据库地址,就可以生成符合我们代码风格的从持久层到控制层的所有代码。(我们当时问为什么不用现成的工具,还要自己开发,leader说自己开发的知道源码,后期出现什么问题也好调整,用别人的出了问题都不知道怎么解决,姑且也就信了吧)这个插件出来以后,我们便进入了后端服务开发1.1时期。

1.1时期(低代码时期)

  在这个阶段其实已经完成核心架构基座的开发逻辑,我们直至今天也仍旧处于这个时期内。在这个阶段我们面临的问题基本就是业务向的问题了,这个阶段的核心逻辑就是:尽可能的抽象出通用工具,减少非必要的人为错误,提高开发效率
  从第四个月进入低代码时期后,我们造了很多轮子,像是grpc远程服务调用组件、websocket服务端组件、前后端消息通信协议组件(SSE)等等,这些极大的提高了我们的工作效率。但是随着轮子越来越多,后端服务的开发/学习成本也越来越高,在可预期的范围内它将会成为一个限制开发效率的瓶颈,那么是否有方案可以解决它呢?答案暂时不确定,我们设想过将这些轮子抽象出来管理,通过配置化的流程将现有功能互相组合从而达到新功能的目的,但碍于种种原因我们并未真正付诸于行动。当然市面上可能已经出现了一些成熟的解决方案,我们还在持续关注中,期待能够早日进入2.0时期(无代码时期)

2.0时期(无代码时期)

  敬请期待~~文章来源地址https://www.toymoban.com/news/detail-833211.html

到了这里,关于Java后端底座从无到有的搭建(随笔)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 配置安装Git,使用Gitee仓库(手把手从无到有)

    首先 Git 是什么? Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 点击下载Git(Windows版本) 1、打开下载链接之后,点击图中箭头所指,即可下载最新版本的 Git 注意:由于是国外网站,下载速度有很大问题,这里提供一个国内镜像下载站

    2024年02月10日
    浏览(66)
  • 微信小程序,https要求,从无到有全过程,总共就八步

    以下教程中出现的截图,均是以下环境 服务器:阿里云 域名购买:阿里云 服务器操作系统:linux 1.腾讯云 2.阿里云 3.某某云 这里是哪一个不重要,现在服务器都很成熟,谁便宜买谁,最好装linux系统的 在哪里买的服务器最好就在哪里买域名 小程序是强行需要https的访问的,

    2024年02月03日
    浏览(43)
  • 从无到有:AI绘画API在插画与游戏设计中的应用

    引言 随着人工智能技术的快速发展,AI绘画API已经逐渐成为插画和游戏设计领域的新宠。这些API能够将创意与技术完美结合,帮助设计师快速生成高质量的图像,为插画和游戏产业带来了巨大的变革。 AI绘画API的工作原理 AI绘画API基于深度学习和神经网络技术,通过对大量图

    2024年02月02日
    浏览(39)
  • matlab从无到有系列(九):Simulink基础仿真详解(全网最全,从入门到放弃)

    🔗 运行环境:Matlab 🚩 作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 📚 选自专栏:《数学建模》 🧿 优秀专栏:《Matlab神经网络案例分析》 目前持续更新的专栏: 🥇 专栏:Matlab GUI编程技巧 🔥 专栏:

    2024年02月02日
    浏览(39)
  • 从无到有手写一个基于Netty+Kyro+Zookeeper的RPC框架,javaweb面试题目整理

    通过这个简易的轮子,你可以学到 RPC 的底层原理和原理以及各种 Java 编码实践的运用。 你甚至可以把这个当做你的毕设/项目经验的选择,这是非常不错!对比其他求职者的项目经验都是各种系统,造轮子肯定是更加能赢得面试官的青睐。 介绍 这是一款基于 Netty+Kyro+Zookee

    2024年04月15日
    浏览(48)
  • Windows的Mysql5.7社区版的安装详细操作,从无到有,安装配置一条龙服务。(压缩包自行安装,非installer安装)

    换了一个电脑,所有软件、环境都得重新来安装一次,安装到Mysql的时候,发现网上有两种安装方式,一种是Mysql的压缩包安装方式,这种方式直接到官网下载Mysql的压缩包,解压之后做些配置就可以了,另一种是Mysql的Installer一站式的安装,这种方法步骤相对来说少点,但是

    2024年02月03日
    浏览(46)
  • 途游游戏 x 极狐GitLab “通关” DevOps :单元测试从无到优,覆盖率 0→80%

    目录 4 个工具孤岛 → 极狐GitLab 全家桶, 被动的「人找进度」 → 高效的「进度找人」 把 Code Review 做扎实 代码质量「向左移」,修复成本「往下降」 从无到「优」 自动执行单元测试,覆盖率 0→80% 你喜欢玩游戏吗? 最近在玩什么游戏? 你是哪款游戏的“死忠粉”呢? 人

    2024年02月13日
    浏览(57)
  • Java后端搭建流程

    目录 一、后端开发准备工作 1.下载 2.安装jdk ,配置JAVA-HOME path 3.启动Tomcat 4.访问ip和端口 二、创建web项目 1.新建一个项目 2.发布web应用到服务器 (1)对LoginServlet继承HttpServlet (2)重写父类方法 (3)在web.xml文件中配置servlet 三、servlet对象生命周期 四、http协议 请求行 请求

    2024年04月16日
    浏览(29)
  • java后端开发环境搭建 mac

    在mac pro上搭建一套java 后端开发环境,主要安装的内容有:jdk、maven、git、tomcat、mysql、navicat、IntelliJ、redis。 本人mac pro的系统为mac OS Monterey 12.6.7,主机的硬件架构为x86_64。 左上角关于本机查看系统版本;终端上输入 查看机器架构: 下载官网:Java Downloads | Oracle 中国 安装步

    2024年02月15日
    浏览(42)
  • 微信小程序-JAVA Springboot项目-后端搭建-项目搭建02

    目录 一、序言 二、后端搭建 三、最终效果         本文主要讲述一个微信小程序前后端项目搭建的过程,主要内容包括小程序(前端)搭建和后端搭建,其中会描述可能遇到的问题以及解决措施,文章将会分为几个部分进行讲述, 这章将讲述后端(Springboot项目)搭建的内

    2024年02月04日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包