Spring 初次理解MVC 的controller和Service

我们都知道,标准主流现在的编程方式都是采用MVC综合设计模式,MVC本身不属于设计模式的一种,它描述的是一种结构,最终目的达到解耦,解耦说的意思是你更改某一层代码,不会影响我其他层代码,

controller层:可以看做是view和Model之间进行沟通的桥梁,可以分发用户的请求,并选择恰当的视图以用于显示,同时可以解释用户的输入并映射为模型层可以执行的操作。

控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。

service层:在接触Spring框架时会了解到面向接口编程,表示层调用控制层,控制层调用业务层,业务层调用数据访问层

初期也许都是new对象去调用下一层,比如你在业务层new一个DAO类的对象,调用DAO类方法访问数据库,这样写是不对的,因为在业务层中是不应该含有具体对象,最多只能有引用,如果有具体对象存在,就耦合了。当那个对象不存在,我还要修改业务的代码,这不符合逻辑。

接下来说service的意义,其实因为你做的练习分层次不是那么严格,在一个练习中业务本身也少,举个最简单的例子,你做一个分页的功能,数据1000条,你20条在一个页,你可以把这个功能写成工具类封装起来,然后在业务层里调用这个封装的方法,这才是业务里真正干得事,只要没访问数据库的,都要在业务里写。

理解图示如下:

                            

 

另外在github上新开了一个记录工程,包含了 SpringAOP,死锁,同步锁,读 - 写同步锁,ThreadLocal使用,jdk 1.8 中的日期时间API,数据结构(待完善),生成XML文件工具类,防止XSS漏洞攻击解决办法,mybatis逆向工程,接口并发测试,BIO,NIO, AIO,Netty的服务,客户端... 并且在不断更新中,有不足之处请留言指出。
感兴趣的童鞋可以来捧个场,详情移步github:https://github.com/higminteam/practice

  • 10
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值