深圳Java培训:Javaweb现在流行用什么框架?_深圳流行开发框架-程序员宅基地

技术标签: java  深圳java培训  java培训  培训  

深圳Java培训:Javaweb现在流行用什么框架?

Java是开源的,框架很多,这些框架都能解决特定的问题,提高开发效率、简化我们的代码复杂度,现在除了很多大家通用的一些主流框架外,很多公司针对自己的业务会自定义一些公司内部的框架,当然作为学习者我们首先要清楚Javaweb都有哪些框架需要学习。

回答这个问题首先要看我们的项目规模,对于”体量”较小的单应用项目,和需要处理海量数据、高并发的分布式项目所学习使用的框架还是不同的。

图片1

对于“体量”较小的单应用项目:

ORM型框架,很多Javaweb程序都需要使用关系数据库来进行数据的持久化,所以对于这种需要进行数据库操作的框架,也就是对JDBC进行封装的ORM框架是需要学习的,目前比较流行的是基于SQL的mybatis框架,这是一个轻量级的ORM框架,学习使用起来比较容易上手,同类型的还有Hibernate框架。

MVC型框架,MVC把程序从逻辑上分为视图层、控制层、模型层,各层各司其职,之间是相互调用的关系而不是相互依赖的关系,这种模式能很好的适应需求的变化及软件的升级变更。目前应用较多的MVC框架是springMVC框架,这个框架有清晰的角色划分,有强大而直接的配置方式,高效的绑定和验证等很多优势。较早的Struts2框架也是MVC框架。

Spring框架,其实Java的从业者很多都绕不开Spring,Spring家族有很多“工具”,编程思想从面相过程到面相对象是一个巨大的进步,然而随着程序越来越复杂,对象越来越多,高效的“管理”及应用这些对象变得越来越重要,Spring的IoC就是把对象的创建、“管理”交由Spring容器来进行,来实现控制反转,同时提供了各种注入值(DI)的方式,大大提高和简化了我们的工作,这就是javaweb需要学习的spring的IoC/DI;我们程序的业务比较复杂时,除了要完成核心功能外,还需要完成注入异常处理、日志记录、事务处理等常规功能,这些常规的操作比较耗费精力,springAOP(面向切面编程)就是解决这个问题的。

Javaweb需要学习一些前端框架,尤其是问题中提到的已经写好了数据接口,或者是已经有了简单的后台,前端框架jQuery是一定要学习的,如果项目基于效率考虑,需要前后端分离,可以学习vue等框架。

对于海量数据、高并发类型的分布式项目,这种类型项目的特点就是前面提到的需要处理的数据量大,例如双十一阿里需要处理的订单数据,比如12306的抢票等。

提升查询效率的缓存数据库框架Redis,这个框架在单应用程序中为了提升数据的读取效率也可以使用,先把数据从关系数据库通过Redis存放到缓存中,从缓存中读取数据的速度比直接从硬盘上读取就要高多了,另外Redis还能进行集群配置主从服务器等,使用非常方便,同类型的还有memcached框架;

在分布式中,服务集群中的负载均衡特别重要,Nginx是一个高性能的HTTP和反向代理服务框架,支持多种负载均衡算法;

消息队列框架:RabbitMQ、ActiveMQ、RocketMQ等,在电商系统中,当结算订单后,需要进行积分的变化等操作,这些操作的量很大,如果等积分变化结束后在通知用户结算成功,显然不可行,那么此时积分的变更操作交由消息队列来完成。

搜索框架,为了提升搜索的效率,创建搜索索引库及中文搜索分词等,可以使用solr框架,同类型的还有ElasticSearch

用于文件使用的分布式文件系统框架Fastdfs

Springboot框架,简化了spring的复杂配置,提供了Thymeleaf模板,很多微服务都是基于Springboot的;

微服务框架,把应用拆分成若干个为服务后,很好的适用了高并发及海量数据的处理,但是微服务的管理也很重要,目前基于服务注册、服务监控的框架有Dubbo+zookeeper,还有SpringCloud,里面包括SpringCloudEureka,SpringCloudRibbon,SpringCloudFeign,SpringCloudHystrix,SpringCloudZuul,SpringCloudConfig,SpringCloudZipKin,SpringCloudSleuth等;

其它框架,还有很多根据项目特定要求的一些框架,例如进行日志记录的log4j框架,进行认证和授权的shiro框架,工作流处理的Activite框架等。

总结一下:学习框架最好的方式就是在实际项目中去应用,这对框架的原理、应用流程都能有很好的学习效果,如果单纯的做一些简单的Demo,框架的很多应用场景、优化、注意事项等是学习不全面的。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_37124438/article/details/89850408

智能推荐

Linux之shell中的case in语句_linux case in-程序员宅基地

文章浏览阅读2.7k次,点赞2次,收藏15次。文章目录shell中的case in 语句1.case in 的用法2.case in和正则表达式shell中的case in 语句1.case in 的用法格式: 1 | case expression in 2 | PAT1) 3 | 执行语句 4 | ;; 5 | PAT2) 6 | 执行语句 7 | ;; 8 | *..._linux case in

rv1126-rv1109-RkLunch.sh_rkipc-程序员宅基地

文章浏览阅读423次。RkLunch.sh是个脚本剖析rkipc的调用这个APP_rkipc

C#中实现拖放操作-程序员宅基地

文章浏览阅读480次。随着桌面系统的推出,利用鼠标的拖放(Drag and Drop)操作由于其简单、直接,受到了越来越多的读者的欢迎,为迎合这种趋势,越来越多程序员在自己的程序中使用了拖放操作。拖放操作方便了程序的使用者,但由于拖放操作在程序中的设计工作比较还有点麻烦,甚至是一个难点,许多程序员对其都有点心有余悸。本文就结合微软公司最新的.Net程序开发语言--C#,来全面介绍一下在C#中是如何处理拖放操作的。

操作系统第二章进程管理习题及其答案-程序员宅基地

文章浏览阅读467次,点赞7次,收藏20次。一、选择题一个运行进程必须具有的 3 种基本状态是(C)A.就绪状态、挂起状态和执行状态 C.就绪状态、执行状态和阻塞状态进程和程序的根本区别在于( A)。A.静态与动态特点B.是不是被调入到内存中C.是不是具有就绪、运行和等待三种状态D.是不是占有处理器下面所列的进程的 3 种基本状态之间的转换不正确的是(D )。A.就绪状态→执行状态B.执行状态→就绪状态C.执行状态→...

JAVA实现的基于内容的图像检索系统设计与实现_java图像检索系统实现-程序员宅基地

文章浏览阅读1.2k次。1 图像检索系统工作流程基于内容的图像检索技术是对输入的图像进行分析并分类统一建模,提取其颜色、形状、纹理、轮廓和空间位置等特征,建立特征索引, 存储于特征数据库中。检索时,用户提交查询的源图像,通过用户接口设置查询条件,可以采用一种或几种的特征组合来表示,然后在图像数据库中提取出查询到的所需关联图像,按照相似度从大到小的顺序,反馈给用户。用户可根据自己的满意程度,选择是否修改查询条件,继续查..._java图像检索系统实现

可靠UDP,KCP协议快在哪?-程序员宅基地

文章浏览阅读71次。WeTest 导读云真机已经支持手机端的画面投影。云真机实时操作,对延迟的要求比远程视频对话的要求更高(100ms以内)。在无线网络下,如何更实时、更可靠的传输视频流就成了一个挑战。通过websocket、RTMP、UDP的比较,最后选择了可靠的UDP协议KCP来进行实时音视频的传输。1 简介KCP是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代..._udp快在哪里

随便推点

帆软css修改按钮立体,FineReport 控件的 CSS 样式-程序员宅基地

文章浏览阅读1.4k次。设置控件的 CSS 样式可以在「模板 Web 属性」中引用 CSS 实现,也可以在「模板 Web 属性」中添加事件实现,据此给出如下两个示例。3.1 修改文本框边框颜色和字体希望参数面板上文本框控件的边框变为红色,字体颜色变为蓝色。如下图所示:3.1.1 准备模板1)新建模板,添加一个模板参数 p1。2)将参数添加到参数面板中,并设置为文本框控件,参数默认值是地区。最终模板如下图所示:3.1.2 ..._帆软button样式

基于支持向量机结合AdaBoost时间序列预测模型研究附MATLAB代码-程序员宅基地

文章浏览阅读737次,点赞25次,收藏22次。作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,????个人主页:Matlab科研工作室????个人信条:格物致知。更多Matlab完整代码及仿真定制内容点击????智能优化算法 神经网络预测 雷达通信 无线传感器 电力系统信号处理 图像处理 ...

考研复试面试专业问题_控制管理模块写在哪个文件-程序员宅基地

文章浏览阅读5.6k次,点赞14次,收藏68次。中科大复试准备数据结构->操作系统->计算机网络->通信原理->微机原理->软件工程,编译原理,数据库计算机考研复试整理PDF文件自取数据结构1. 时间复杂度时间复杂度是指执行算法所需要的计算工作量,因为整个算法的执行时间与基本操作重复执行的次数成正比,所以将算法中基本操作的次数作为算法时间复杂度的度量,一般情况下,按照基本操作次数最多的输..._控制管理模块写在哪个文件

三本建筑学与计算机专业,填报三本志愿最适合选择这三个专业,毕业后前景不输重点本科生...-程序员宅基地

文章浏览阅读588次。虽然三本院校处在本科阶段最末端的排名,但是并不代表大家选择了三本就不会比其他本科生差,那么小编今天为大家准备了这篇填报三本志愿最适合选择这三个专业,毕业后前景不输重点本科生的相关讲解,大家一定要认真学习。计算机专业计算机影响人类生活这句话相信现在每一位学生都体会到了,但是目前计算机行业依然在飞速发展中,作为一个技术性的专业工资待遇当然是比较理想的,月薪上万也属实是一个普通水平。如果三本学生将计算机..._三本建筑学没出路吗

杰里之各个IC 测试功耗表(693X-697X)_杰里 6973 pdf-程序员宅基地

文章浏览阅读2.8k次。示例:6956A:其他芯片的数据待传:文件比较大,可以多问小编!_杰里 6973 pdf

后台向前台输出 换行“\n”-程序员宅基地

文章浏览阅读775次。MVC 中后台向前台输出 “\n”总是报错因为后台向前台输出 “\n” 后,前台出现换行eg: "这里是\n换行"var str="这里是换行";这里的\n被翻译成换行,这个变量就出现问题了!可以在后台输出时把"\n"替换成 <br/>转载于:https://www.cnblogs.com/xbblogs/p/6166002.html..._数据库里存的是\n 为什么传到前台是\\n