为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 【金秋打卡】第21天 Spring...

【金秋打卡】第21天 Spring Boot打造企业微信点餐系统 4

2022.11.16 23:37 71浏览

第一模块:

课程名称: Spring Boot打造企业微信点餐系统

章节名称:6-1 ~ 6-7

讲师姓名:廖师兄


第二模块:

内容概述:

6-1 ~ 6-7小节主要讲解了订单的DAO、Service的创建、查询等知识点


第三模块:

学习心得:

16 数据库事务篇4:详解传播行为

注意:“数据库层面的事务”和“业务层面的事务”是两个物种,是不同层面上的同名词——层面不同,意义看似接近,实则规模、数量等特性有云泥之别

设置了传播行为的是原方法,没有设置传播行为的是子方法,因为传播是需要传播源的!!!

17 数据库事务篇5:使用Spring数据库事务的

1.@Transactional失效问题

2. 耗时操作

3. 错误使用异常

专业术语补充:

自调用:类自己调用自己的方法

他调用:A类调B类的方法

理解“调用”:java中的调用都是组合者模式,无论是之前的import方式还是IOC注入的方式,其本质上都是“组合者模式”,所以,调用的过程是这样的:A类需要一个功能,那么他有两个选择,一个是自己实现,一个是叫别人实现,基于“解耦”的要求——能调用的就选择调用,所以,对于A类,分析后知道这个他需要的功能不应该由他实现,所以,就选择“叫别人实现”,即:要么import,要么IOC注入,这部分就相当于“请一位有这个能力的人过来帮忙”,即找到这么一个人,人找到之后,给他空间,给他权力,然他打开手脚,去完成这么一个功能。

调用举例:

spacer.gifhttps://img4.sycdn.imooc.com/6375037a0001475a06380265.jpg


入侵式代码:两个条件1.这段代码是业务代码;2.这段代码的实现过程中依赖于第三方包或者框架

非入侵式代码: 两个条件1.这段代码是业务代码;2.这段代码的实现过程中不依赖任何第三方包或者框架,全部代码都是自己写的逻辑

对于“业务代码”我们追求的是非入侵式,对于非业务代码可是依赖于第三方的包或者框架

时间戳:时间戳听起来是一个“点”的概念,实际上是一个时间段的概念,开始的点是1970年1月1日,而定点就是“时间戳”;百度上的定义:从1970年1月1日开始所经过的秒数。

进程:一个进程就是一个程序的运行实例,程序的代码是固定的,但是每次运行时产生的实例是千差万别的,可以说同一个代码程序他每次启动时产生的实例进程都是不同的,一个程序代码运行时只能产生一个进程。

线程:线程就是进程的一部分,是程序的某个代码片段,若干的代码片段就组成了一个完整的程序,所以,一个程序运行时,一次只能产生一个进程,但是一个进程中可以包含多个线程,可以简单的认为线程就是代码中的一个组件,一个方法,一个函数。

编程技巧补充:

1.看日志。一个很重要编程和查错技巧就是“看日志”,通过日志就可以知道程序的运行流程是什么,在那个时候出错了,出了什么错等等这些一系列重要的信息都蕴藏在日志之中,一个高级开发具备的一个基本技能就是”对日志做数据挖掘,能快速有效的“


补充:

Spring Boot为我们做了大量的自动配置,大大的简化了我们的工作,整合的要点有:

  • Spring MVC:Spring Boot自动完成的,只需要依赖对应的spring-boot-starter-web包即可,并不需要我们处理,只是我们需要掌握整个Spring MVC流程是怎么样的,以便于未来更好的工作;

  • MyBatis:如果简易整合的可以利用Spring Boot的配置文件进行整合,如果复杂的可以使用MyBatis自身的配置文件,我们只需要使用Spring Boot的配置项指向它即可。而常见的错误是没有指定扫描的包或者路径,又或者没有加入注解限定而扫描错映射器接口等,还有XML文件的命名空间是否对应了DAO接口,SQL的Id是否和DAO接口方法名称一致等,这些都是要注意的;

  • 数据库事务:Spring Boot也会帮我们自动装配事务管理器,只需要直接使用即可。这里要特别小心处理隔离级别和传播行为,以及避免一些我们讨论过的不当情况的出现,以保证系统性能和数据的一致性;

  • Redis:主要是配置项,一个是连接配置,一个是连接池配置,重点在于Redis序列化器的使用。在一般的情况下我都推荐配置缓存管理器启用缓存注解来完成对应的功能,以简化编程。而对于一些注解难以完成的,则考虑使用RedisTemplate进行处理。其中对于缓存处理时候,需要考虑超时的刷新的问题。在你需要修改数据的时候,尽量不要相信缓存,尽量去数据库读取最新数据,以防止脏数据的写入。


第四模块:

学习截图:

https://img2.sycdn.imooc.com/637502820001540507590371.jpg


点击查看更多内容
0人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
全栈工程师
手记
粉丝
3
获赞与收藏
1

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

51篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

151篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消