对Spring各种框架的理解

Spring 主要包括三种框架 SpringMVC、Spring Data、Spring AOP

1.SpringMVC对应英文model、view、control
view是指前端的视图,比如用js+html写出的前端、或者vue框架写出的前端显示的可视化管理界面。
control是指整个从接口开始的java程序,包括service(业务层)、Dao(数据访问层,又名持久层)等后台逻辑代码。

2.Spring Data 是Spring的一个子项目,用于简化数据库访问,包括传统的RDB(relation database:如JDBC、JPA),和非关系型数据库(MongoDB、Redis、Hbase)

Dao层(ORM)框架还有:Mybatis和hibernate
Mybatis是将object和Mapper半映射、需要配置mapper.xml
Hibernate是全映射,要求对应关系明确

关于DB:DB中InnoDB是支持事务的,ISAM不支持事务

3.Spring AOP
AOP(面向切面)和DI(依赖注入、控制反转)
AOP是什么意思呢?
例子:不同controller的serviceImpl层每次都要调用logger进行打印,logger就是一个实现AOP的例子。将相同的功能整合起来,进行调用。
DI的使用首先了解Spring底层:
Spring运行会从扫描@application扫描,再进行@service的扫描,从需要的@service中选出自己想要的,注入进去(调用该扫描到的@service)
事务@transactional的原理就是如此

SpringBoot的演变主要因为配置文件过于复杂,属于业务上的优化,从xml到Annotation再到javaConfig(pom.xml)文件

SpringCloud主要进行运维方面的优化

关于对接口的理解
java是面向对象的语言,一个子类只能有一个父类
而C++一个子类可以有多个父类
父类和子类都是事务的属性、而接口是指他们的能力(计算机系的学生不一定会编程,美术系的学生不一定不会编程,我们定义的接口只需要找会编程的学生。。这是一种共通的能力,所以定义成一个接口)

关于对事务的理解
事务包括事务传播和分布式事务
事务传播:写@transactional的事务只能通过接口进行调用,若再写一个不带@transcational得类,调用带@transactional的类,不能成功的调用,事务注解失效。
分布式事务:若要把同一条信息传到不同的数据库(如:redis、Mysql)用到分布式事务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值