Javaweb开发,到底什么能叫做框架,什么又叫做中间件呢?

Spring是框架,那么Mybatis, Shiro, RabbitMQ,Eureka,Redis这些哪些是框架,哪些又是中间件呢?可以帮我明确一下概念吗,谢谢大家。

框架:
1是什么:框架就是一套规范。既然是规范,你使用这个框架就要遵守这个框架所规定的约束。在Java开发中,框架是用一套规则+一群jar包来表示的。

2为什么:我们为什么要使用框架?
(1)原因:就好比盖房子,有10个人一起合作盖,此时,框架就好比图纸。如果没有盖房子的图纸,那么每个人都有自己的想法,那么盖出的房子一定不是房主想要的。而有了图纸,就可以约束每个人要怎么盖我们的房子,砌砖的要切成什么样子,方向的门要超南朝北等都被约束了。这样便于团队的合作与开发。放在我们的开发中,如果一个类的名字,A同学起名字叫A.java B同学起名教B.java,可是其实这两个类的功能是一样的,但是就是因为没有规范,所以造成了混乱,不利于团队合作与开发,如果使用了框架,框架就会对类的名字有约束,比如Struts,控制类我们都起名字叫**Action 这样很容易让人看明白功能。
(2)意义:框架不仅仅只完成这些简单的约束,更重要的是,框架为我们封装好了一些冗余,且重用率低的代码。并且使用反射与动态代理机制,将代码实现了通用性。比如如果你说servlet开发,你需要在servlet获取表单的参数,每次都要获取很麻烦,而struts底层就使用反射机制和拦截器机制帮助我们获取表单的值,我们就不用每次都手写那些代码了,简化了开发,当然你必须遵守一些规定来配置。还有比如hibernate,它提供了一些通用性很强的对数据库的增删改差,如果你使用jdbc每次做一些简单的crud的时候都必须写sql,但使用hibernate就不需要这么麻烦了,直接save,update就可以了。。。当然,你还是要遵循其一些规范而配置。同理spring也是如此。

3怎么使用 刚才说了,框架在java中是通过jar体现的。如果使用这个是学习的东西,我也没法讲,但首先你需要把jar导入,才可以使用其“规定”。先写个helloworld。。。慢慢学习。。。

补充-框架的好处和缺点:框架的好处已经说了很多了,便于团队开发,提供了一些现成的机制,简化开发难度,还有些框架可以解耦等,比如spring。缺点就是效率上没有servlet开发高,但是随着硬件的提高,这些也不是什么问题。差异不大,其实如果要求效率的话,servlet+jdbc是最好的,但多方面考虑的话,使用框架更好。
什么是消息中间件
1 用来提升系统性能:
简单理解就是应用不用关心处理结果的部分,可以通过消息中间件异步通知消息。然后其他应用服务器接收到消息后,慢慢处理。
2 应用解耦和通信:
简单理解就是多个应用之间进行数据交互。
例:短信发送,你不可能一直等到短信发送成功了。再去处理逻辑,所以就可以用到消息中间件通知可以发短信的系统慢慢去发。
你上面的这些 Mybatis Shiro是属于java的框架,RabbitMQ,Redis是属于消息中间件, 而Eureka是注册中心,相当于java的客户端,希望对你有所帮助,如果想要对这方面有更深入的了解,欢迎关注私信我,带你玩转java
温馨提示:答案为网友推荐,仅供参考
相似回答