您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
现在IT公司对Java开发这块,主流框架都有些什么?
框架,应用程序,是一个现在IT公司对Java开发这块,主流框架都有些什么?
发布时间:2020-12-06加入收藏来源:互联网点击:
现在IT公司对Java开发这块,主流框架都有些什么?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
分享个开源项目快速开发框架,采用spring cloud alibaba +nacos +vue的 技术栈,实现了大部分
钉钉宜搭的快速开发功能,很值得借鉴下。
这是在git上开源的快速开发项目,项目采用微服务为基础的脚手架,包括流程、表单、列表、图
表、应用等多个界面化的配置引擎。
项目介绍:
**JVS的核心目标:**让中小型开发团队过得轻松一点,优化开发团队人力成本高、交付效率低、质量不可控、周期不确定、基础技术投入不足、高端技术支持不够等
JVS是面向软件开发团队可以快速实现应用的基础开发框架,采用微服务分布式框架,提供丰富的基础功能,集成众多业务引擎,它灵活性强,界面化配置对开发者友好,底层容器化构建,集合持续化构建。
项目标签
低代码、微服务、支持SaaS、私有化部署、DevOps、
开源项目地址
框架前端地址:https://gitee.com/software-minister/jvs-ui
框架后端地址:https://gitee.com/software-minister/jvs
快速安装地址:JVS/jvs-docker-compose
体验地址:http://frame.bctools.cn/#/login
登陆可以通过微信扫码登陆,对于配置数据,请各位技术同学手下留情。
部署文档
https://gitee.com/software-minister/jvs-docker-compose/blob/master/readme.md
**物理拓扑:
技术文档地址(微信登陆可查看):
技术栈说明:
系统部分截图:
登陆页面
配置化首页
系统基础信息设置
框架基础功能
应用创建
列表配置
流程配置
表单配置
图表配置
逻辑配置
demo环境:http://frame.bctools.cn/#/login
开源地址:https://gitee.com/software-minister/jvs
如果还有其他的疑问,可以私信
回答于 2019-09-11 08:43:50
根据笔者的工作经验总结一下,使用Java作为编码语言,经常会用到的框架有两类,一类是框架本身就是用 Java 语言开发的,另一类是非Java 语言开发的,下面分别分享一下。
使用Java 语言开发的常用框架
Spring框架
Spring核心框架自从诞生以来,一直都是最主流的框架之一,它提供了管理 Bean 对象的容器,省去了我们自己去 new 对象,只要通过简单的依赖注入就可以引入想使用的对象。这是 Spring 的核心功能之一的 IOC(控制反转),它的作用就是帮我们管理对象,省去了自己创建对象,而是由 Spring 来自动进行装配。
Spring还提供了另一个核心功能 AOP(面向切面编程的思想),通过动态代理来实现对一些切面功能的处理来降低耦合,比如统一的异常处理、日志处理、权限校验等等。
Spring拥有一个很大的开发生态圈,很多框架都能通过简单地配置和Spring 共同使用,大大方便了我们进行开发。
SpringMVC
SpringMVC是一个使用了 MVC 分层模式的 Web 框架,它底层其实就是一个 Servlet,接收并处理请求,然后返回响应。
MVC 分层架构主要分为:
Model 层是对应用程序数据的一个封装;
View 层负责展示应用程序返回的数组;
Contorller 层负责处理用户请求,并建立对应的模型,然后做渲染。
MyBatis
MyBatis是一个对象关系映射(Object Relational Mapping)框架。它主要关注对象与数据库之间的映射,框架会屏蔽操作数据库的细节,然后把数据库返回的数据封装成对象,我们在应用中直接操作对象就行了。
也因为MyBatis框架的特性:逻辑代码和SQL分离,所以需要自己手写 SQL,这既是缺点也是优点吧。说它是缺点是因为还需要我们自己写 SQL,优点呢就是我们可以对 SQL 进行定制化,比较自由。而且现在有很多插件可以实现对定义好的数据库自定义生成对应的 SQL,如果有自定义 SQL 的需求,只要在 XML 文件中修改就好。总之,它方便了我们对数据库的操作。
上面介绍的 Spring、SpringMVC和Mybatis就是常用的SSM框架集。
SpringBoot
Spring全家桶之一的SpringBoot,是一个快速开发的框架,通过引入项目依赖快速引入第三方框架,并且它通过引入大量的注解来简化XML的配置。它的主要功能就是为了简化开发过程中的成本,快速引入依赖、简化因使用配置带来的复杂度、简洁打包运行,一个字就是快!
SpringCloud
SpringCloud框架为构建分布式系统提供了一套完整的微服务解决方案,它提供了如下组件:
Eureka:用于服务的注册发现;
Ribbon/Feign:提供负载均衡;
Hystrix:防止过载的断路器;
Config:配置中心;
Zuul:网关。
SpringCloud不断在完善及增加这些功能,是一个开发过程中的利器。
Dubbo
Dubbo是阿里巴巴研发的一款开源的 RPC 远程调用框架。现在很多公司都在使用微服务、分布式架构,也就是由之前的单体应用拆分成多个服务,然后服务之间进行调用。为了使消费端对服务端的调用透明化,就有了 RPC 框架,很多公司都在使用 Dubbo 来搭建微服务。
Dubbo 使用 SPI 机制实现了插件的可插拔,你可以自由扩展它提供的功能。同时它还提供了丰富的协议支持、丰富的负载均衡策略。在最新的版本中,Dubbo 对异步调用也做了很好的支持。总之,Dubbo 是一款优秀的 RPC 框架。
Netty
Netty是一个异步驱动的网络应用框架,用于快速开发可维护、高性能的服务器和客户端。很多 RPC 框架的的通信层都采用的是 Netty,上面介绍的 Dubbo 框架默认的 dubbo 协议就是采用 Netty 作为其通信框架。
Netty 的高性能取决于其 I/O 模型和线程模型。I/O 模型采用了 I/O 多路复用,虽然也是调用 select 方法,虽然会阻塞线程,但不会阻塞 I/O ,它会同时检查多个写和多个读,只有在有数据就绪时,才会调用真正的 I/O 操作。
Netty 还解决了粘包/拆包问题,还支持零拷贝等等。
总之,Netty 是一个高性能的网络框架。
SkyWalking
SkyWalking是一个APM(Application Performance Management,应用性能管理) 框架,在微服务盛行的时代,它可以做到服务调用链路的追踪,是一个监控服务性能的利器。
SkyWalking 基于 OpenTracing 规范,Java 探针采用了字节码增强技术实现,对业务代码无侵入,而且社区非常活跃,支持多语言,是一款很好的 APM 框架。
ZooKeeper
ZooKeeper是一个分布式协调框架,提供统一命名服务、配置管理、数据发布/订阅、负载均衡、分布式协调/通知、分布式锁等分布式的基础服务。ZooKeeper 采用了 ZAB 协议来解决分布式数据的一致性。在应用方面,Dubbo 的服务注册中心就是采用的 ZooKeeper,其用途也是非常广泛。
上一篇:发过的面能做面筋吗?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |