SSM框架概述与分层理解

一、基本概念

1.Spring

       简单来说,就是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。其中IOC可以说是SSM的核心之一,关于IOC的理解可参考:https://blog.csdn.net/qq_31783173/article/details/75174071;其次面向切面编程(AOP)与面向对象编程(OOP)的简单区别就是OOP面向名词,AOP面向动词,比如CRUD(增删改查)操作都需要做权限验证,可通过AOP在程序运行时动态的注入到CRUD中,以完成权限验证。用一个简单例子解释:属于该寝室的每个人进寝室都需要以相同的流程和方式开门,因此“开门”就可作用一个切面来理解,当某个人需要开门的时候,直接把“开门”操作动态注入进来,这样就无需为每个人定义一个开门的方法,从这个角度看AOP也算是对OOP的一个增强补充。

2.SpringMVC

       分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。说白了就是MVC框架思想的一个纳入,此处也对MVC进行一个简单理解,典型范例就是JavaBean(Model-模型)+Jsp(View-视图)+Servlet(Controller-控制器),即前端Jsp页面传参数到Servlet进行业务逻辑处理,然后JavaBean就负责与数据库的交互。它的一个典型实例应用就是“用户登录”,用户在前端页面输入登录信息,提交传到后台Servlet进行登录处理,在JavaBean中将传来的参数与数据库中数据进行匹配,最终将查询结果处理渲染到前端相应页面。(JavaBean定义补充:将功能、处理、值、数据库访问和其他任何可以用Java代码创造的对象进行打包,并且其他开发者可以通过内部的Jsp页面、Servlet、其他JavaBean或应用来使用这些对象。)

3.MyBatis

      消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。它使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects)映射成数据库里的记录。

二、分层理解

1.持久层

       属于MyBatis模块,也就是Dao层(Mapper层)。主要负责与数据库进行交互设计,用来处理数据的持久化工作,简单来说就是进行CRUD操作。DAO层设计首先是设计DAO的接口,然后在Spring的xml配置文件中定义此接口的实现类即可,DAO层的jdbc.properties数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。

2.业务层

       属于Spring模块,也就是Service层。主要负责业务模块的逻辑应用设计,首先是设计Service的接口,再设计其实现的类,最后impl实现类通过调用DAO层已定义的接口,去实现Service的接口类。当然在搭建SSM框架时已在Spring的xml配置文件中配置好其实现的关联。

3.控制层&&表现层

       属于SpringMVC模块,也就是Controller层(Handler层)和View层。Controller层主要负责具体的业务模块流程控制,通过要调用Service层的接口来控制业务流程,其配置也同样在Spring的xml配置文件中,针对具体的业务流程会有不同的控制器。View层则负责前端页面展示,需要和Controller层结合起来开发,即前端页面发送请求,控制层接收请求并处理,最后返回数据到前端。

4.层与层联系

为了能更快速的理解SSM框架中各层之前的关系,直接用一个实例来说明。如:前端页面需要展示一个地区列表的模块实现

5.补充概念理解

(1)注解:即把相应的资源都交给Spring统一管理,相当于在xml中配置一个bean。其中@Autowired即表示自动注解,当程序需要被自动注解的这个对象的时候,Spring会自动将其注入到程序中需要的地方,以此动态建立依赖关系,这也充分体现了依赖注入(DI)和自动装配的思想。其次@Controller和@Service也同样体现了控制反转(IOC)的思想。

(2)自动装配:无需在Spring配置文件中描述JavaBean之间的依赖关系,IOC容器会自动建立JavaBean之间的关联关系。

  • 20
    点赞
  • 129
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

”PANDA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值