热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

从事.NET开发已经4个年头,经过十余个项目的学习与沉淀,终于有了一套自己熟悉并且相对完善的技术体系,面对未知,不再惧怕。期间完成并广泛用于公司项目的作品包括:abp的二次开发框架BodeAbp基于o
从事.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/cczcrv-java,有兴趣的可以看看。 参考项目:http://git.oschina.net/iBase4J/iBase4Jhttps://github.com/judasn/IntelliJ-IDEA-Tutorial
推荐阅读
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 本文介绍了ASP.NET Core MVC的入门及基础使用教程,根据微软的文档学习,建议阅读英文文档以便更好理解,微软的工具化使用方便且开发速度快。通过vs2017新建项目,可以创建一个基础的ASP.NET网站,也可以实现动态网站开发。ASP.NET MVC框架及其工具简化了开发过程,包括建立业务的数据模型和控制器等步骤。 ... [详细]
  • wpf+mvvm代码组织结构及实现方式
    本文介绍了wpf+mvvm代码组织结构的由来和实现方式。作者回顾了自己大学时期接触wpf开发和mvvm模式的经历,认为mvvm模式使得开发更加专注于业务且高效。与此同时,作者指出mvvm模式相较于mvc模式的优势。文章还提到了当没有mvvm时处理数据和UI交互的例子,以及前后端分离和组件化的概念。作者希望能够只关注原始数据结构,将数据交给UI自行改变,从而解放劳动力,避免加班。 ... [详细]
  • 一、Struts2是一个基于MVC设计模式的Web应用框架在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2优点1、实现 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
  • React基础篇一 - JSX语法扩展与使用
    本文介绍了React基础篇一中的JSX语法扩展与使用。JSX是一种JavaScript的语法扩展,用于描述React中的用户界面。文章详细介绍了在JSX中使用表达式的方法,并给出了一个示例代码。最后,提到了JSX在编译后会被转化为普通的JavaScript对象。 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
  • 随着前端技术的发展,越来越多的开发者开始使用react、vue等web框架,但很少有人深入理解这些框架的源码。然而,这些框架底层都是由原生的javascript构建而成。对于初学前端的人来说,可能会认为javascript很容易上手,但实际上只是因为它被高度封装了。与能够使用封装类的人相比,能够理解框架原理的人则处于另一个层面。本文将深入剖析jquery源码,探寻框架底层的原理,帮助读者更好地理解web框架的运行机制。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • 本文讨论了在ASP中创建RazorFunctions.cshtml文件时出现的问题,即ASP.global_asax不存在于命名空间ASP中。文章提供了解决该问题的代码示例,并详细解释了代码中涉及的关键概念,如HttpContext、Request和RouteData等。通过阅读本文,读者可以了解如何解决该问题并理解相关的ASP概念。 ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • 我将SpringMVC升级到Spring3.2.5.我的一些剩余调用即使存在,也会返回无法识别的字段异常.这是错误.Resolvingexceptionfrom ... [详细]
  • 关于extjs开发实战pdf的信息
    本文目录一览:1、extjs实用开发指南2、本 ... [详细]
author-avatar
吴钧隆362
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有