SSM框架中常问的知识点

SpringIoC:
举个例子,使用Socket socket=new Socket1();后,国家标准插座接口(Socket)就和插座1(Socket1)捆绑在一起了。这样就会有一个弊端,如果要使用其他的插座,就需要修改代码。
如果有其他更好的插座,岂不是要修改源码,一个大型互联网的对象成千上万个,如果需要不断修改,那么对系统的可靠性将是极大的挑战,Spring IoC可以解决这个问题。

我们不用new的方式创建对象,而是使用配置的方式,让Spring IoC容器自己通过配置去找到插座。

<bean id="socket" class="Socket1"/>
<bean id="user" class="xxx.User">
    <property name="socket" ref="socket"/>
</bean>

只要向Spring IoC容器描述所需资源,Spring IoC自己会找到你所需要的资源,这就是Spring IoC的理念。

我们把POJO对象和数据库表相互映射的框架称为对象关系映射框架。无论MyBatis和Hibernate都可以称为ORM框架,只是Hibernate的设计理念是完全面向POJO的,而MyBatis则不是。Hibernate基本不再需要编写SQL就可以通过映射关系来操作数据库,是一种全表映射的体现,而MyBatis则不同,它需要我们提供SQL去运行。

Hibernate是将POJO和数据库表对应的映射文件。

Hibernate看不到SQL,那是因为Hibernate会根据映射关系来生成对应的SQL,程序员不用精通SQL,只要懂得操作POJO就能够操作对应数据库的表了。

MyBatis
程序员可以自己制定SQL规则,无须Hibernate自动生成规则,这样能够更加精确地定义SQL,从而优化性能。

MyBatis在满足一定的规则下,完成自动映射,而增删查改对应着insert,delete,select,update四个元素。

Hibernate和MyBatis的区别:
对于Hibernate而言,不需要编写大量的SQL,就可以完全映射,同时提供了日志,缓存,级联等特性,此外还提供HQL(hibernate query language)对POJO进行操作,使用十分方便,但是它也有致命的缺陷。
由于无须SQL,当多表关联超过3个的时候,通过Hibernate的级联会造成太多性能的丢失。

MyBatis要编写SQL和映射规则,其工作量稍微大于Hibernate。对于性能要求不太苛刻的系统,比如管理系统,ERP等推荐使用Hibernate;而对于性能要求高,响应快,灵活的系统则推荐使用MyBatis.

Spring MVC结构层次清晰,类比较简单,并且与Spring的核心IoC和AOP无缝对接。

Redis:
响应速度快:Redis响应非常快,每秒可以执行大约110000个写入操作,或者81000个读操作,其速度远超数据库。如果存入一些常用的数据,就能有效提高系统的性能。

支持6种数据类型:它们是字符串,哈希结构,列表,集合,可排序集合和基数。比如对于字符串可以存入一些Java基础数据类型,哈希可以存储对象,列表可以存储List对象。对于Redis而言,虽然只有6种数据类型,但是有两大好处:一方面可以满足存储各种数据结构体的需要;另外一个方面数据类型少,使得规则就少,需要的判断和逻辑就少,这样读写的速度就更快。

操作都是原子性的:所有Redis的操作都是原子性的,从而确保当两个客户同时访问Redis服务器时,得到的是更新后的值。在需要高并发的场合可以考虑使用Redis的事务,处理一些需要锁的业务。

MultiUtility工具:Redis可以在如缓存,消息传递队列中使用(Redis支持“发布+订阅”的消息模式),在应用程序如Web应用程序会话,网站页面点击数等任何短暂的数据中使用。

优点:
一方面,使用NoSQL从数据库中读取数据进行缓存,就可以从内存中读取数据了,而不像数据库一样读磁盘,现实是读操作比写操作要多得多,所以缓存很多常用的数据。另一方面,它也能满足互联网高并发需要高速处理数据的场合。保证并发数据安全和一致性。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当涉及到SSM框架Spring + Spring MVC + MyBatis)时,以下是一些常用的知识点: 1. Spring框架:IoC(控制反转)和AOP(面向切面编程)概念,以及Spring的核心模块和特性。 2. Spring MVC:控制器、视图解析器、处理器映射器等基本概念,以及如何处理HTTP请求和响应。 3. MyBatis:ORM(对象关系映射)框架,映射数据库表和Java对象之间的关系,以及如何执行SQL语句和进行事务管理。 4. 数据库操作:使用MyBatis进行数据库的增删改查操作,包括使用注解和XML配置两种方式。 5. 事务管理:使用Spring的声明式事务管理,配置事务的传播行为和隔离级别,确保数据的一致性和完整性。 6. 异常处理:处理业务逻辑的异常,使用Spring的异常处理机制和全局异常处理器。 7. 日志管理:使用日志框架(如Log4j、Logback)记录系统运行过程的日志信息。 8. 单元测试:使用JUnit等单元测试框架进行代码的单元测试,保证代码的质量和可靠性。 9. 配置文件:配置Spring和MyBatis的相关配置文件,包括数据源配置、Bean的定义和依赖注入等。 10. 整合其他技术:如整合Redis、RabbitMQ等第三方技术,实现缓存、消息队列等功能。 这些是SSM框架的一些常用知识点,涵盖了SpringSpring MVC和MyBatis的基本概念和使用方法。希望对您有所帮助!如有更多问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值