Spring SpringMVC以及MyBatis的层次问题
今天面试的时候,面试官问了一个问题,在你接触和开发Java过程中有没有遇到过比较难的时候,我的第
一反应突然想起了刚刚学习Spring SpringMVC还有MyBatis的时候,经常会听到框架的各个层的名字,
然后当时也是不理解,经常因为分不清哪个层然后学习到半夜,所以回来
我又仔细看了一遍并且进行了分析不说了 直接上图分析。
Spring
它主要是由实体类(模型层),接口(Dao层),还有页面(表示层)组成。
SpringMvc
SpringMVC主要分为四层:页面(表示层),(controller)控制层,(service)业务层,以及(dao)持久层当我接触到SpringMVC的时候感觉只有一个为什么注解这么多,好难啊(我就再把注解也给加上吧)
@Repository:这个注解就是告诉SpringMVC我这个是一个数据访问层,并为他申请特殊身份(Bean)比如在接口实现类上贴上@Repository(“userDao”)表示Bean的名称就是userDao
@Service:标注业务层,比如在接口实现类上加@Service(“userDao”)也可以实现上面那个Bean命名
@Controller:控制层,在controller类的上面贴上表示这个类是一个控制层类
@Component:这个注解有点吊 当你不确定是哪个层的时候就可以用它
MyBatis
可能有的小伙伴也百度过基本上说的都是分为三层:
API接口层:可以给外部提供接口API,通过接口实现对数据库的操作,
数据处理层:负责具体的SQL实现,解析,执行,和结果映射等操作,
基础支撑层:负责基础的功能支撑,包括链接管理,事务管理,配置加载和缓存处理等共用的东西将他们抽取成工具为上层的数据处理层提供支撑,
其实层次的话和上面的基本一样只是多出来数据处理和工具类
数据处理其实简单的话就是mapper.xml工具类的话一般是调用大佬或者官网APL接口的工具类或者是你自己代码复用的一个工具类其他基本没有变。
执行流程还有他的核心类在我博客里面应该也有,非常简单有不懂的小伙伴可以去看一下。
总的来说基本就是实体,,DAO接口,Service接口,实现,控制器,工具包,以及页面视图的一个展示
如果不坚持,如果不努力,再牛逼的现在也终将销声匿迹,愿你持之以恒,方得始终。