SSM框架
SSM是什么
SSM(Spring、SpringMVC和Mybatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),常作为数据源较简单的web项目的框架。
标准的SSM框架有四层:
- 持久层:dao层(mapper)
作用:主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此。
dao层首先设计的是接口,然后在Spring的配置文件中定义接口的实现类。
然后可以在模块中进行接口的调用来进行数据业务的处理(不在关心接口的实现类是哪个类)。
数据源的配置以及有关数据库连接的参数都在Spring的配置文件中进行配置。 - 业务层:service层
作用:service层主要负责业务模块的逻辑应用设计。
先设计接口,然后再设计实现类,然后再在Spring的配置文件中配置其实现的关联。(业务逻辑层的实现具体要调用到自己已经定义好的Dao的接口上)这样就可以在应用中调用Service接口来进行业务处理。
建立好Dao之后再建立service层,service层又要在controller层之下,因为既要调用Dao层的接口又要提供接口给controller层。每个模型都有一个service接口,每个接口分别封装各自的业务处理的方法。 - 表现层:controller层
作用:负责具体的业务模块流程的控制。
配置也同样是在Spring的配置文件里面进行,调用Service层提供的接口来控制业务流程。
业务流程的不同会有不同的控制器,在具体的开发中可以将我们的流程进行抽象的归纳,设计出可以重复利用的子单元流程模块。 - view层
作用:主要和控制层紧密结合,主要负责前台jsp页面的表示。
各层之间的联系
dao和service层这两个层都可以单独开发,互相的耦合度很低,完全可以独立进行,这样的一种模式在开发大项目的过程中尤其有优势,controller和view层因为耦合度比较高,因而要结合在一起开发,但是也可以看作一个整体独立于前两个层进行开发。这样,在层与层之前我们只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。
使用Spring实现业务对象管理,使用Spring MVC负责请求的转发和视图管理,Mybatis作为数据对象的持久化引擎。
Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。
Spring的核心思想是IoC(反转控制)和DI(依赖注入)。
IoC(反转控制)是不再需要程序员去显式地“new”一个对象,而是让Spring框架来帮我们完成这一切。
DI(依赖注入)就是拿到的对象的属性,已经被注入好相关值了,直接使用即可。
SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
MyBatis
Mybatis是对JDBC的封装,它让数据库底层操作变得透明。Mybatis的操作都是围绕一个sqlSessionFactory实例展开的。
Mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的SQL语句映射。
在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行SQL命令。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理