SSM框架

SSM框架由SpringMVC、Spring和Mybatis整合而成,分别负责请求转发、业务对象管理和数据持久化。SpringMVC的DAO层处理数据库交互,Service层封装业务逻辑,Controller层控制业务流程,视图层展示结果。Spring作为容器,实现IOC和AOP,降低组件耦合。Mybatis简化数据库操作,通过SqlSession与Mapper文件配合执行SQL。
摘要由CSDN通过智能技术生成

SSM框架原理

SSM框架是springMVC+spring+mybatis框架的整合。

使用spring MVC 负责请求的转发和视图管理;spring实现业务对象管理;mybatis作为数据对象的持久化引擎。

Spring MVC

持久层:dao层(mapper):主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此

1,DAO层的设计首先是设计DAO的接口,然后再Spring的配置文件中定义接口的实现类。

2,然后就可以在模块中调用此接口来进行数据业务的处理。(不在关心接口的实现类是哪个类,显得结构非常清晰)。

3,DAO层数据源的配置以及有关数据库连接的参数都在Spring的配置文件中进行配置。

业务层:Service层:主要负责业务模块的逻辑应用设计。

1,先设计接口,再设计实现的类

2,然后再在Spring的配置文件中配置其实现的关联。这样就可以在应用中调用Service接口来进行业务处理。

3,Service层的业务实现,具体要调用到已定义的DAO层的接口。

4,封装Service层的业务逻辑有利于通过的业户逻辑的独立性和重复利用性,程序显得非常简洁。
建立好Dao之后再建立service层,service层又要在controller层之下,因为既要调用Dao层的接口又要提供接口给controller层。每个模型都有一个service接口,每个接口分别封装各自的业务处理的方法。
5,

表现层:Controller层:负责具体的业务模块流程的控制。

1,在此层里面要调用 Service 层的接口来控制业务流程,

2,配置也同样是在Spring的配置文件里面进行,针对具体的业务流程的不同会有不同的控制器,
在具体的开发中可以将我们的流程进行抽象的归纳,设计出可以重复利用的子单元流程模块,这样不仅使程序结构变得清晰,也大大减少了代码量。

视图:View层:主要和控制层紧密结合,需要二者结合起来协同工发。View层主要负责前台jsp页面的表示。

各层之间的联系
DAO层,Service层这两个层次都可以单独开发,互相的耦合度很低,完全可以独立进行,这样的一种模式在开发大项目的过程中尤其有优势,

2,Controller,View层因为耦合度比较高,因而要结合在一起开发,但是也可以看作一个整体独立于前两个层进行开发。这样,在层与层之前我们只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。

3,Service逻辑层设计

Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该即调用DAO层的接口,又要提供接口给 Controller 层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个 Service 接口,每个接口分别封装各自的业务处理方法。

Spring

spring 是一个容器框架,它可以接管 web 层,业务层,dao 层,持久层的各个组件,并且可以配置各种 bean, 并可以维护 bean 与 bean 的关系,当我们需要使用某个 bean 的时候,我们可以直接 getBean(id),使用即可
spring 目的是让对象与对象(模块与模块)之间的关系没有通过代码来关联,都是通过配置类说明管理的 (Spring 根据这些配置 内部通过反射去动态的组装对象) ,Spring 是一个容器,凡是在容器里的对象才会有 Spring 所提供的这些服务和功能。

Spring里面的IOC容器和AOP是我们平时使用最多的。
1)IOC(控制反转)
它可以装载bean,也是一种降低对象之间耦合关系的设计思想。(比如租房子。以前租房子需要一个房子一个房子找,费时费力,然后现在加入一个房屋中介,把你需要的房型告诉中介,就可以直接选到需要的房子,中介就相当于spring容器。)
2)AOP(面向切面)
是面向对象开发的一种补充,它允许开发人员在不改变原来模型的基础上动态的修改模型以满足新的需求,如:动态的增加日志、安全或异常处理等。AOP使业务逻辑各部分间的耦合度降低,提高程序可重用性,提高开发效率。


Mybatis (核心是SqlSession)

mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值