使用Java 语言开发的常用框架

Spring框架
        Spring核心框架自从诞生以来,一直都是最主流的框架之一,它提供了管理 Bean 对象的容器,省去了我们自己去 new 对象,只要通过简单的依赖注入就可以引入想使用的对象。这是 Spring 的核心功能之一的 IOC(控制反转),它的作用就是帮我们管理对象,省去了自己创建对象,而是由 Spring 来自动进行装配。
        Spring还提供了另一个核心功能 AOP(面向切面编程的思想),通过动态代理来实现对一些切面功能的处理来降低耦合,比如统一的异常处理、日志处理、权限校验等等。
        Spring拥有一个很大的开发生态圈,很多框架都能通过简单地配置和Spring 共同使用,大大方便了我们进行开发。


SpringMVC
        SpringMVC是一个使用了 MVC 分层模式的 Web 框架,它底层其实就是一个 Servlet,接收并处理请求,然后返回响应。
MVC 分层架构主要分为:

  1.  Model 层是对应用程序数据的一个封装;
  2. View 层负责展示应用程序返回的数组;
  3. Contorller 层负责处理用户请求,并建立对应的模型,然后做渲染。

MyBatis
        MyBatis是一个对象关系映射(Object Relational Mapping)框架。它主要关注对象与数据库之间的映射,框架会屏蔽操作数据库的细节,然后把数据库返回的数据封装成对象,我们在应用中直接操作对象就行了。
        也因为MyBatis框架的特性:逻辑代码和SQL分离,所以需要自己手写 SQL,这既是缺点也是优点吧。说它是缺点是因为还需要我们自己写 SQL,优点呢就是我们可以对 SQL 进行定制化,比较自由。而且现在有很多插件可以实现对定义好的数据库自定义生成对应的 SQL,如果有自定义 SQL 的需求,只要在 XML 文件中修改就好。总之,它方便了我们对数据库的操作。
        上面介绍的 Spring、SpringMVC和Mybatis就是常用的SSM框架集。


SpringBoot
        Spring全家桶之一的SpringBoot,是一个快速开发的框架,通过引入项目依赖快速引入第三方框架,并且它通过引入大量的注解来简化XML的配置。它的主要功能就是为了简化开发过程中的成本,快速引入依赖、简化因使用配置带来的复杂度、简洁打包运行,一个字就是快!


SpringCloud
        SpringCloud框架为构建分布式系统提供了一套完整的微服务解决方案,它提供了如下组件:

  1. Eureka:用于服务的注册发现;
  2. Ribbon/Feign:提供负载均衡;
  3. Hystrix:防止过载的断路器;
  4. Config:配置中心;
  5. 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,其用途也是非常广泛。


canal
        canal也是阿里巴巴研发的一款基于 MySQL 数据库增量日志解析的框架,主要提供增量数据订阅和消费。canal 的工作原理是模拟 MySQL slave 的交互协议,伪装自己是 MySQL 的 slave,向 master 发送 dump 协议,等 master 收到 dump 协议后,会把 binlog 日志传给 canal ,然后 canal 就可以解析 binlog 日志了。该框架一般用于同步 MySQL 的数据,现在还支持把消息发送到 Kafka 中,然后由使用方订阅 topic 进行消费。


Vert.x
        Vert.x是一款异步框架,基于 Netty 实现,通过事件循环(Event Loop)来调用存储在异步任务队列的任务,能够极大地提高系统的吞吐量,它还有一个特点是无锁化。


Elasticsearch
        Elasticsearch是一款分布式可扩展的实时搜索和分析引擎,底层基于 Lucene 开发。该框架可以用于分布式实时文件存储、分布式搜索引擎等。Elaticsearch 的倒排索引被很多广告公司用到了广告库检索上,同时 Elaticsearch + Logstash + Kibana 可以搭建日志分析系统,即 ELK。


非Java语言开发的框架
Redis
        Redis是一款基于C语言开发的 key-value 存储系统,一般用作缓存、分布式锁、消息队列,也支持持久化数据到磁盘上。
Redis 支持多种数据类型,例如字符串、哈希、列表、集合和有序集合、位图、HyperLogLog 等类型。
        Redis 支持 RDB 和 AOF 两种持久化方式,也有对键的过期策略。Redis 还支持事务、LUA 脚本等特性。
Redis 通过 Redis Sentinel 提供高可用,通过 Redis Cluster 提供自动分区。
Redis 在工作中常用于实现分布式缓存和分布式锁。

Java物资管理系统源码+程序使用说明文档 附加SQL Server 2005数据库 (1)将MR\07\WebRoot\Database文件夹中的扩展名为db_Material_Data.MDF和db_Material_Log.LDF的两个文件拷贝到本地机器的MyEclipse工作空间以外的任何位置。 (2)打开SQL Server 2005的“SQL Server Management Studio”,并登录,然后展开本地服务器,在“数据库”节点上单击鼠标右键,在弹出的快捷菜单中选择“附加”子节点。 (3)将弹出“附加数据库”对话框,在该对话框中单击“添加”按钮,选择所要附加数据库的db_Material_Data.MDF文件,单击【确定】按钮,即可完成数据库的附加操作。 将程序导入到MyEclipse中,并发布运行 (1)将“MR\07\”文件夹拷贝到MyEclipse的工作空间中。 (2)启动MyEclipse,在左侧的“包资源管理器”中,单击鼠标右键,选择“Import”菜单项,在弹出的对话框中,展开General节点,并选择“Existing Projects into Workspace”子节点,如图1.1所示。 图1.1 Import对话框 (3)单击“next”按钮,进入到Import Projects对话框中,选择工作空间中的07,单击“Finish”按钮,完成项目的导入。 (4)将程序所需的Struts 1.2、Hibernate3.3和SQL Server 2005数据库驱动包拷贝到工程的WebRoot\WEB-INF\lib文件夹中,如图1.2所示。 图1.2 添加程序所需的Jar包后的效果 (5)单击工具栏中的 按钮,在弹出对话框的project下拉列表框中,选择项目名称07,单击add按钮,在弹出的new deployment对话框的server下拉列表框中选择要使用的服务器这里为MyEclipse Tomcat,单击Finish按钮,返回到Project Deployments对话框中,单击OK按钮。 (6)单击工具栏中的 按钮的三角形,在弹出菜单中选择“MyEclipse Tomcat/Start”菜单项,开启Tomcat服务器。 (7)打开IE浏览器,在地址栏中输入http://localhost:8080/07,并按下Enter键,进入本程序主页面。 使用说明 主要功能 物资管理是企业管理非常重要的一环,它对企业的发展起着非常举足轻重的作用。由于物资的种类繁多,在各部门进出频繁,使得物资管理变得十分复杂。开发一套完善的物资管理系统不但可以使物资的管理者,能够对物资的整个流程状态、库存状况了如指掌,并为决策管理提供科学依据,从而提高了管理水平和工作效率,而且可以使工作人员甩掉手工记账方式,从而最大限度地减少了手工操作带来的失误,达到事半功倍的效果。物资管理系统作为企业管理自动化、规范化的一部分,对提高企业管理效率、提高企业经济效益发挥不可替代的作用。 注意事项 (1)本系统用户名称:mr;密码mrsfot。 (2)库存盘点后,盘点数量是在库存盘点表打印出来时手动添加。 (3)在删除物资信息时,如果将重要信息删除,单击“恢复”按钮,即可将该信息恢复回来。 业务流程 (1)打开“系统管理/用户管理”菜单项:对用户信息添加、权限修改以及删除操作。 (2)打开“系统管理/系统初始化”菜单项:将当前所有数据进行系统初始化操作。 注意:在初始化前最好先对数据进行备份,以免造成数据丢失。 (3)单击“修改密码”按钮,修改当前正在使用用户密码。 (4)打开“基础信息/供应商管理”菜单项:对供应商信息添加、修改以及删除操作。 (5)打开“基础信息/物资管理”菜单项:对物资信息添加、修改、删除以及恢复操作。 注意:为防止将有用信息误操作删除,本程序提供了恢复功能,如果确认该信息不需要,可在数据库中删除。 (6)打开“基础信息/部门管理”菜单项:对部门信息添加以及删除操作。 (7)打开“物资入库/采购登记”菜单项:对采购信息登记操作。 注意:如果采购登记的物资信息没有审核操作,那么该物资无法入库。 (8)打开“物资入库/审核入库”菜单项:对登记的采购入库信息审核以及查询操作。 (9)打开“物资出库/部门领用”菜单项:对部门领用信息添加操作。 (10)打开“物资出库/物资借出”菜单项:对物资借出信息添加操作。 注意:如果借出的物资没有审核,那么该物资属于借出。 (11)打开“物资出库/物资审核”菜单项:对借出的物资信息审核操作。 (12)打开“物资入库/借出归还”菜单项:对借出物资信息归还以及查询操作。 (13)打开“物资处理/库存盘点”菜单项:对库存信息浏览操作。 (14)打开“物资处理/部门报损”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嗨,您好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值