为什么service层要打成war包而不打成jar包?

回到我们传统的架构:表现层,业务层,持久层。

  》刚入门写代码servlet是作为web层,页面的请求由servlet来处理和响应

  》之后你学习了面向soa的架构,把表现层和服务层拆解出来了,而且这两个层都是打包成war,表现层就不多说了,而服务层打包成war后,service兼职web层的这个角色来处理表现层发送过来的请求并响应

 

刚才上面只是理论,实际的原因:

  》假设你service打包成了jar,controller(表现层)引用了service,当controller一加载,相应的service也会被加载的,倘若controller数量一多,引用了还是相同的service,这个service就会被重复加载多次,这岂不是白白浪费内存资源

  》假设你service打包成了war,我们可以让它随服务器的启动而启动,然后我们用dubbo做中间件来调用service,这样service就只被加载了一次而已,就避免了资源浪费的情况了

posted @ 2020-07-15 22:44  爱编程DE文兄  阅读(379)  评论(0编辑  收藏  举报