1.简述SSH框架的特点。
①易于整合,hibernate、mybatis等技术都有很好的支持。
②实现MVC框架方便。
③相比于servlet,spring更加灵活、更便捷,可以对前端请求做统一的请求过滤处理。
④大量使用注释,让项目构建更加方便,通过依赖注入的方式实现单例模式,代码更加清晰。
⑤hibernate可以跟spring很好地整合在一起,不需要再手动构建数据库连接,只需要实现具体的查询功能
⑥如果使用spring data jpa,那么连SQL都不需要写,只需要写好接口就可以实现简单的CRUD代码。
⑦对比JdbcTemplate,hibernate也会节省很多代码。
2.什么是REST
我是无法理解Representational State Transfer这个词的本意了。
- 资源与URI
- 统一资源接口
- 资源的表述
- 资源的链接
- 状态的转移
这是REST的几个原则,使用REST规范的目的是为了统一接口。Representational指的就是对资源的抽象,无论是一组数据、一张图片,总而言之,他对于前端来讲就是一个请求。REST为这种请求指定了一个规范,让API请求独立出来,沟通前后端。我平常有很多违反REST原则的行为,典型的就是删除操作发送一个deleteUser的请求。。。。
引用:
https://blog.csdn.net/intelrain/article/details/80449371
http://www.runoob.com/w3cnote/restful-architecture.html
3.什么是事务。
官方说法:
事务:一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。
通俗说法:
事务,就是把一堆事情绑在一起做,都成功了才算完成,否则就恢复之前的样子 @https://blog.csdn.net/x289231673/article/details/78499951
个人总结:
transaction,n. 交易,业务,事务; 办理,处理; (一笔) 交易,(一项)事务; (学会等的) 会议记录,学报;
事务将一系列操作作为一个工作单元去处理,当一个事务的所有行为都成功,他才会执行成功,否则全部回滚。
对于spring我们需要指定DataSource、TransactionManager和代理机制这三部分的配置,然后spring会为我们开启事务机制,然后我们就可以在service里的方法使用@Transactional标签,也就是说service里的几个操作,必须全成功事务才会提交,否则报错并回滚。(springboot只需要@EnableTransactionManagement 标签)
考试要考:
ACID指的是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)。
第一类丢失更新、第二类丢失更新、脏读、幻读、不可重复读。
引用:
https://blog.csdn.net/gloomy_114/article/details/62048335#1-%E4%BA%8B%E5%8A%A1%E7%9A%84%E6%A6%82%E5%BF%B5
https://baijiahao.baidu.com/s?id=1589785724536025953&wfr=spider&for=pc
http://www.blogjava.net/robbie/archive/2009/04/05/264003.html
https://www.cnblogs.com/yixianyixian/p/8372832.html
https://baijiahao.baidu.com/s?id=1607466404459549668&wfr=spider&for=pc