首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
expression
case
keyword
function
数组
command
config
rsa
post
text
metadata
byte
jsp
vba
express
datetime
java
stream
io
httpclient
uri
replace
hash
utf-8
buffer
default
lua
cPlusPlus
char
email
audio
controller
substring
search
web3
random
integer
emoji
bytecode
js
yaml
cmd
ip
eval
match
runtime
heatmap
md5
subset
import
get
php
callback
hashtable
php7
split
hashset
uml
join
range
window
hashcode
hook
flutter
cSharp
jar
iostream
fetch
install
vbscript
version
request
node.js
string
plugins
go
regex
triggers
client
当前位置:
开发笔记
>
编程语言
> 正文
从.net到java,记录下这三个月的工作
作者:吴钧隆362 | 来源:互联网 | 2023-08-16 19:09
从事.NET开发已经4个年头,经过十余个项目的学习与沉淀,终于有了一套自己熟悉并且相对完善的技术体系,面对未知,不再惧怕。期间完成并广泛用于公司项目的作品包括:abp的二次开发框架BodeAbp基于o
从事.NET开发已经4个年头,经过十余个项目的学习与沉淀,终于有了一套自己熟悉并且相对完善的技术体系,面对未知,不再惧怕。期间完成并广泛用于公司项目的作品包括:
abp的二次开发框架BodeAbp
基于owin的sso系统
全自动数据表格react与jquery版
通用的属性系统
慢慢的发现开发变得简单,感觉所有的业务需求都好像一种机械的重复,我似乎正在走进舒适区。然而技术海洋其深远辽阔远不是我腹中那三两滴墨水可以丈量,我要走的路还很长,恰逢公司五月启动了一个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/iBase4J
https://github.com/judasn/IntelliJ-IDEA-Tutorial
java
react
jquery
编辑器
搜索
ide
web
spring
mvc
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
stream
秒建一个后台管理系统?用这5个开源免费的Java项目就够了
秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ...
[详细]
蜡笔小新 2024-11-12 03:21:33
io
Linux 环境下 Java 及相关软件的安装指南
本文详细介绍了如何在 Linux 系统上安装 JDK 1.8、MySQL 和 Redis,并提供了相应的环境配置和验证步骤。 ...
[详细]
蜡笔小新 2024-11-13 18:10:16
io
javax.mail.search.BodyTerm.matchPart()方法的使用及代码示例
javax.mail.search.BodyTerm.matchPart()方法的使用及代码示例 ...
[详细]
蜡笔小新 2024-11-13 15:24:50
io
SpringMVC 入门指南:快速上手 Java Web 开发
本文将带你快速了解 SpringMVC 框架的基本使用方法,通过实现一个简单的 Controller 并在浏览器中访问,展示 SpringMVC 的强大与简便。 ...
[详细]
蜡笔小新 2024-11-13 14:22:01
default
Spring – Bean Life Cycle
Spring – Bean Life Cycle ...
[详细]
蜡笔小新 2024-11-13 13:24:40
char
javascript分页类支持页码格式
前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ...
[详细]
蜡笔小新 2024-11-12 14:58:57
io
Spring详解(六)AOP
原文网址:https:www.cnblogs.comysoceanp7476379.html目录1、AOP什么?2、需求3、解决办法1:使用静态代理4 ...
[详细]
蜡笔小新 2024-11-12 14:40:40
io
解决Bootstrap DataTable Ajax请求重复问题
在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ...
[详细]
蜡笔小新 2024-11-12 13:59:27
replace
JavaWeb文件上传:前端实现与后端处理详解
在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ...
[详细]
蜡笔小新 2024-11-11 19:50:46
uri
Bootstrap 学习指南:全面掌握前端框架的核心知识点与实战技巧
### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ...
[详细]
蜡笔小新 2024-11-09 16:58:21
io
Web开发框架概览:Java与JavaScript技术及框架综述
Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ...
[详细]
蜡笔小新 2024-11-09 11:59:38
java
观察 | 求职体验:收到录用通知的公司通常不深究技术细节,而那些详细追问的公司往往没有后续进展
观察 | 求职体验:收到录用通知的公司通常不深究技术细节,而那些详细追问的公司往往没有后续进展 ...
[详细]
蜡笔小新 2024-11-08 12:52:17
uri
CentOS 7 中配置开机自动挂载 NFS 的解决方案
本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ...
[详细]
蜡笔小新 2024-11-13 12:05:24
io
Java 中如何将多参数方法传递给使用 List 的 Function
本文探讨了如何在 Java 中将多参数方法通过 Lambda 表达式传递给一个接受 List 的 Function。具体分析了 `OrderUtil` 类中的 `runInBatches` 方法及其使用场景。 ...
[详细]
蜡笔小新 2024-11-12 22:25:23
io
如何在C#中配置组合框的背景颜色?
如何在C#中配置组合框的背景颜色? ...
[详细]
蜡笔小新 2024-11-08 13:06:59
吴钧隆362
这个家伙很懒,什么也没留下!
Tags | 热门标签
expression
case
keyword
function
数组
command
config
rsa
post
text
metadata
byte
jsp
vba
express
datetime
java
stream
io
httpclient
uri
replace
hash
utf-8
buffer
default
lua
cPlusPlus
char
email
RankList | 热门文章
1
《产品设计与开发(原书第5版)》——1.2 谁来设计和开发产品
2
物联网卡市场骗局分析,学会避坑!
3
Excel拼音设置技巧,单元格快速设置,简单工作不操心
4
战国风云之列国短记
5
9. ARM汇编内存操作 LDM/STM
6
大小_计算后图像大小参数计算
7
Radix 特别篇:怎么为您的小型企业选择域名尾缀
8
哪里可以下载到华为手机的专用铃声?华为p10设置铃声
9
智能无线遥控器详细使用步骤介绍
10
阿联酋通过著名商人和慈善家B. R. Shetty博士参演的短片庆祝扎耶德年
11
莫名朋友的时间线
12
mac硬盘权限限制怎么解决,mac硬盘权限拒绝访问怎么处理
13
苹果手机刷机恢复电话号码具体操作步骤
14
华为宣布搭载鸿蒙设备破1.5亿台(转载)
15
最被低估的985大学排名:全国最差的985是哪个大学?
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有