从.net到java,记录下这三个月的工做

从事.NET开发已经4个年头,通过十余个项目的学习与沉淀,终于有了一套本身熟悉而且相对完善的技术体系,面对未知,再也不害怕。期间完成并普遍用于公司项目的做品包括:
  1. abp的二次开发框架BodeAbp
  2. 基于owin的sso系统
  3. 全自动数据表格react与jquery版
  4. 通用的属性系统
慢慢的发现开发变得简单,感受全部的业务需求都好像一种机械的重复,我彷佛正在走进温馨区。然而技术海洋其深远辽阔远不是我腹中那三两滴墨水能够丈量,我要走的路还很长,恰逢公司五月启动了一个java平台网站的开发,而现有的技术团队都是.net,咱们面临着极大的挑战。其中技术选型、开发框架的搭建都是我须要解决的问题,踏坑无数,又在坑里浴火重生。从.net到java,不是为了转型,而是丰富本身。
 

 
万事开头难,在.net技术体系中摸爬滚打了几年以后初次接触到java,甚至连编辑器怎么使用我都是懵逼的,好在有万能的搜索引擎,通过两天疯狂的资料查询以及各类莫名其妙的心里挣扎。最终的技术选型为:
  • 开发工具:idea
  • web框架:spring mvc
  • orm:mybatis及其加强工具mybatis-plus
  • 日志:slf4j + log4j
  • 缓存:redis
 
准备工做
准备工做主要是JAVA开发环境的搭建,怀念.net一键安装visual studio的日子,主要工做有:
  • JDK安装
  • JRE安装
  • Tomcat安装
  • idea的安装以及破解
  • maven安装以及国内镜像的配置
  • redis的安装
maven是java的包管理器,相似.net的nuget,前端的npm与yarn。
后来集成了dubbo服务框架,就还须要dubbo-admin的部署以及zookeeper的安装。
 
开发过程
首次使用java开发项目,过程当中遇到的问题真的是多不胜数,一个xml配置异常就让我纠结两天都不能解决,最终不得不删除项目重头再来,整个过程当中像这样整个项目建了删,删了再建经历5次左右终于有了一个可使用的简易开发框架,能够给他们写业务代码了。
 
得益于.net工做对于web开发的认知,在通过了接近两周的阵痛期以后很快速的就上手了,遇到问题经过搜索引擎很快就能解决,不少思路是相通的,只是实现方式的差异而已,咱们的开发速度也在逐渐的加快,期间也修复了很多开发框架中的BUG。
 
两个月过去,不断的踩坑填坑,不断的重构项目,开发框架慢慢的趋于稳定,然而咱们由.net切换到java,确定不是单纯的换个新语言体验下生活,更多的是为了java体系中那些成熟的分布式解决方案(好比dubbo、spring cloud等),而后又开始了新一轮的阵痛期,期间项目结构发生过巨大的变化,就顺便又进行了一次大的重构,但此时对于java我解决问题的能力已经要比以前好多了,集成dubbo的过程当中,遇到的问题几乎都在两个小时内都解决了。
 
上周末,dubbo集成完毕,测试经过,开发几乎和之前同样。虽然是站在巨人的肩膀上搭建了个人第一个分布式应用,可是其完成时的喜悦依然是美好的。我也由此看到了之前搭建的.net框架的一些不足之处,算是另外一种形式的反哺吧。
 
最终成果
整个项目结构在开发过程当中不断的重构,重构过程当中集成了dubbo服务框架,最终以下图所示:
cczcrv-core:包括各类抽象基类与工具类、缓存的实现等。
cczcrv-service-common:依赖cczcrv-core,包括全部服务接口、DTO、Model的定义。
cczcrv-service-xxx:依赖cczcrv-core、cczcrv-service-common,服务的实现。每一个模块都可集群部署,可拥有本身的数据库,可单独作读写分离等。
cczcrv-web-website:依赖cczcrv-core、cczcrv-service-common,web层,调用远程服务,不依赖具体实现。
 
写在最后
我将业务代码删除以后将项目放在了Github,地址: https://github.com/liuxx001/bird-java,有兴趣的能够看看。
 
参考项目:
相关文章
相关标签/搜索