MVC模式和Maven项目构建

 

 

1、    尽管Servlet + JSP可以完成全部的开发工作,但是代码耦合度高、可读性差、重用性不好,维护、优化也不方便。所以才有了MVC。

         MVC是当前WEB开发的主流模式,核心是使用Struts、SpringMVC等框架管理URL映射、调度服务层和视图层。

 

2、    Struts、SpringMVC等控制层框架可以实现服务层、视图层的调度,而且我们的想法是让它们只负责做这些工作。

 

         但是,在请求中包含了参数的情况下,如:多条件查询数据列表。

         是不是需要在控制器里面获取请求参数呢?传统的方式是这样的。

 

         如果添加或者删除某个查询条件,我们就需要去修改控制器代码。

 

         有一个较好的解决方案:在控制器之前添加Filter或者Interceptor,在里面获取请求参数并封装查询参数对象(Map、List或者自定义对象)存放到值栈或Request域,然后在控制器中获取这个查询参数对象,再调用service时传入即可。

         进一步,还可以把这些Filter或者Interceptor封装成单独的jar包,在WEB应用中配置依赖。

 

3、    使用MVC模式开发的同时配合使用“面向接口编程(多态)”可以大大降低组件之间的耦合性。

         组件之间使用接口对象对接,通过Spring文件配置或注解扫描把实际使用的组件实现类对象管理起来,然后把实现类对象注入到调用组件。

         在之后的升级或者维护中,如果需要整体修改组件实现,只要替换组件实现类的jar文件,而不需要修改调用组件的任何代码。

 

4、    可以使用maven解决依赖问题,这可以让模块化的分层架构更加清晰、组件之间的耦合页更低。

         简单的模块划分大致如下:实体类、dao层、dao层实现类、service层、service层实现类、WEB应用

 

         

 

         其实核心的模块就是:实体类、dao层、service层、WEB应用

         之间的依赖关系(黑色线表示)如下:

 

         

 

         在后期优化、升级过程中,如果我们使用Mybatis实现DAO层,我们只需要:

    • 使用Mybatis编写DAO层的实现类
    • 添加spring的配置文件
    • 制作jar包,上传到maven服务器
    • 把WEB层的hibernate dao依赖改成mybayis dao实现

         这样我们就完成DAO层实现类的修改,其余的模块代码不需要任何修改

 

转载于:https://www.cnblogs.com/xugf/p/8672369.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值