好程序员-千锋教育旗下高端IT职业教育品牌

400-811-9990
  • 客服QQ
  • 官方微信

    好程序员

    专注高端IT职业培训

[JavaEE] 好程序员Java教程分享javaweb框架

[复制链接]
27 0
叶子老师 发表于 前天 16:52 | 只看该作者 |阅读模式 打印 上一主题 下一主题
  好程序员Java教程分享javaweb框架Java是开源的,框架很多,这些框架都能解决特定的问题,提高开发效率、简化我们的代码复杂度,现在除了很多大家通用的一些主流框架外,很多公司针对自己的业务会自定义一些公司内部的框架,当然作为学习者我们首先要清楚最流行的javaweb框架有哪些?
  回答这个问题首先要看我们的项目规模,对于”体量”较小的单应用项目,和需要处理海量数据、高并发的分布式项目所学习使用的框架还是不同的。
  对于“体量”较小的单应用项目:
  ORM型框架,很多Javaweb程序都需要使用关系数据库来进行数据的持久化,所以对于这种需要进行数据库操作的框架,也就是对JDBC进行封装的ORM框架是需要学习的,目前比较流行的是基于SQLmybatis框架,这是一个轻量级的ORM框架,学习使用起来比较容易上手,同类型的还有Hibernate框架。
  MVC型框架,MVC把程序从逻辑上分为视图层、控制层、模型层,各层各司其职,之间是相互调用的关系而不是相互依赖的关系,这种模式能很好的适应需求的变化及软件的升级变更。目前应用较多的MVC框架是springMVC框架,这个框架有清晰的角色划分,有强大而直接的配置方式,高效的绑定和验证等很多优势。较早的Struts2框架也是MVC框架。
  Spring框架,其实Java的从业者很多都绕不开SpringSpring家族有很多“工具”,编程思想从面相过程到面相对象是一个巨大的进步,然而随着程序越来越复杂,对象越来越多,高效的“管理”及应用这些对象变得越来越重要,SpringIoC就是把对象的创建、“管理”交由Spring容器来进行,来实现控制反转,同时提供了各种注入值(DI)的方式,大大提高和简化了我们的工作,这就是javaweb需要学习的springIoC/DI;我们程序的业务比较复杂时,除了要完成核心功能外,还需要完成注入异常处理、日志记录、事务处理等常规功能,这些常规的操作比较耗费精力,springAOP(面向切面编程)就是解决这个问题的。
  Javaweb需要学习一些前端框架,尤其是问题中提到的已经写好了数据接口,或者是已经有了简单的后台,前端框架jQuery是一定要学习的,如果项目基于效率考虑,需要前后端分离,可以学习vue等框架。
  对于海量数据、高并发类型的分布式项目,这种类型项目的特点就是前面提到的需要处理的数据量大,例如双十一阿里需要处理的订单数据,比如12306的抢票等。
  提升查询效率的缓存数据库框架Redis,这个框架在单应用程序中为了提升数据的读取效率也可以使用,先把数据从关系数据库通过Redis存放到缓存中,从缓存中读取数据的速度比直接从硬盘上读取就要高多了,另外Redis还能进行集群配置主从服务器等,使用非常方便,同类型的还有memcached框架;
  在分布式中,服务集群中的负载均衡特别重要,Nginx是一个高性能的HTTP和反向代理服务框架,支持多种负载均衡算法;
  消息队列框架:RabbitMQActiveMQRocketMQ等,在电商系统中,当结算订单后,需要进行积分的变化等操作,这些操作的量很大,如果等积分变化结束后在通知用户结算成功,显然不可行,那么此时积分的变更操作交由消息队列来完成。
  搜索框架,为了提升搜索的效率,创建搜索索引库及中文搜索分词等,可以使用solr框架,同类型的还有ElasticSearch
  用于文件使用的分布式文件系统框架Fastdfs
  Springboot框架,简化了spring的复杂配置,提供了Thymeleaf模板,很多微服务都是基于Springboot;
  微服务框架,把应用拆分成若干个为服务后,很好的适用了高并发及海量数据的处理,但是微服务的管理也很重要,目前基于服务注册、服务监控的框架有Dubbo+zookeeper,还有SpringCloud,里面包括SpringCloudEurekaSpringCloudRibbonSpringCloudFeignSpringCloudHystrixSpringCloudZuulSpringCloudConfigSpringCloudZipKinSpringCloudSleuth;
  其它框架,还有很多根据项目特定要求的一些框架,例如进行日志记录的log4j框架,进行认证和授权的shiro框架,工作流处理的Activite框架等。
  总结一下:学习框架最好的方式就是在实际项目中去应用,这对框架的原理、应用流程都能有很好的学习效果,如果单纯的做一些简单的Demo,框架的很多应用场景、优化、注意事项等是学习不全面的。
  好程序员Java教程http://www.mygod78.com/javaEE_class.shtml

精彩内容,一键分享给更多人!
收藏
收藏0
转播
转播
分享
淘帖0
支持
支持0
反对
反对0
您需要登录后才可以回帖

本版积分规则

关注我们
千锋好程序员

北京校区(总部):北京市海淀区宝盛北里西区28号中关村智诚科创大厦

深圳西部硅谷校区:深圳市宝安区宝安大道5010号深圳西部硅谷B座A区605-619

杭州龙驰智慧谷校区:浙江省杭州市下沙经济技术开发区元成路199号龙驰智慧谷B座7层

郑州校区:郑州市二七区航海中路60号海为科技园C区10层、12层

Copyright 2007-2019 北京千锋互联科技湖南福彩网 .All Right

京ICP备12003911号-5 京公安网11010802011455号

请您保持通讯畅通1对1咨询马上开启

淅江福彩网 湖南福彩网 江苏福彩网 湖南福彩网 淅江福彩网 淅江福彩网 上海福彩网 江苏福彩网 上海福彩网 淅江福彩网