SSM理解&疑问&回答

2022-05-13 12:45:10 浏览数 (1)

一,SSM框架实现一个web程序主要使用到如下三个技术:

  • Spring:用到注解和自动装配,就是Spring的两个精髓IOC(反向控制)和 - - AOP(面向切面编程)。
  • SpringMVC:用到了MVC模型,将流程控制代码放到Controller层处理,将业务逻辑代码放到Service层处理。
  • Mybatis:用到了与数据库打交道的层面,dao(mapper)层,放在所有的逻辑之后,处理与数据库的CRUD相关的操作。

二,为什么要分Controller层和Service层两个层?

代码语言:javascript复制
Controller层是放流程控制代码的,Service层是放业务逻辑代码的
对Controller层作为流程控制的理解
比如单击Web页面中的超链接和发送HTML表单时,Controller控制器本身不输出任何东西和做任何处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。

三,SSM中各层作用及关系

代码语言:javascript复制
1.持久层:DAO层(mapper层)(属于mybatis模块)
DAO层:主要负责与数据库进行交互设计,用来处理数据的持久化工作。
DAO层的设计首先是设计DAO的接口,也就是项目中你看到的Dao包。
然后在Spring的xml配置文件中定义此接口的实现类,就可在其他模块中调用此接口来进行数据业务的处理,
而不用关心接口的具体实现类是哪个类,这里往往用到的就是反射机制,DAO层的jdbc.properties数据源配置,
以及有 关数据库连接的参数都在Spring的配置文件中进行配置。
ps:(有的项目里面Dao层,写成mapper,当成一个意思理解。)

2.业务层:Service层(属于spring模块)
Service层:主要负责业务模块的逻辑应用设计。也就是项目中你看到的Service包。
Service层的设计首先是设计接口,再设计其实现的类。也就是项目中你看到的service impl包。
接着再在Spring的xml配置文件中配置其实现的关联。这样我们就可以在应用中调用Service接口
来进行业务处理。
最后通过调用DAO层已定义的接口,去实现Service具体的实现类。
ps:(Service层的业务实现,具体要调用到已定义的DAO层的接口.)

3.控制层/表现层:Controller层(Handler层) (属于springMVC模块)
Controller层:主要负责具体的业务模块流程控制,也就是你看到的controller包。
Controller层通过要调用Service层的接口来控制业务流程,控制的配置也同样是在Spring的xml配置文件里面,针对具体的业务流程,会有不同的控制器。

4.View层 (属于springMVC模块)
负责前台jsp页面的展示,此层需要与Controller层结合起来开发。
Jsp发送请求,controller接收请求,处理,返回,jsp回显数据。

image.png

0 人点赞