1.如果套餐库存为0或者套餐下架业务逻辑是什么样呢?
套餐库存为0的业务逻辑: 下单失败: 当用户下单时,系统可以检查套餐的库存,如果库存为0,则拒绝生成订单,返回给用户相应的提示,如“库存不足”或“该套餐已售罄”。 套餐下架的业务逻辑: 阻止下单: 当套餐下架时,用户下单时不会查询到已下架的套餐。 下架套餐: 关联菜品的套餐不能被下架 即菜品起售停售的状态会被前端查询再返回给微信小程序
2.如何保证操作多张表的时候数据一致性
通过注解transactional和逻辑外键
3.什么情况可能导致事务异常?
1.数据库连接问题: 如果在事务执行期间数据库连接发生问题,比如连接中断或数据库不可用,事务可能会失败。 2.违反数据库约束: 当尝试向数据库中插入、更新或删除数据时,如果违反了数据库的约束条件,如唯一性约束、外键约束等,事务将失败。 3.死锁: 当多个事务相互等待对方释放锁资源时,可能发生死锁。如果系统无法解决死锁,某些事务将被终止,导致异常。 4.超时: 事务执行时间超过了系统设置的最大时间限制,可能会导致事务异常。这通常是为了避免长时间运行的事务阻塞系统。 5.程序错误(通俗讲就是抛出异常): 编程错误可能导致事务异常。例如,在事务中执行的代码中可能包含了错误,或者事务在执行期间遇到了意外情况。 6.并发问题: 在多用户并发访问的环境中,如果不正确地处理并发控制,可能会导致事务异常,如丢失更新、脏读等问题。 7.资源耗尽: 如果事务在执行期间请求的资源(如内存、文件句柄等)超出了系统的可用资源,可能会导致事务异常。 8.中断操作: 在事务执行期间,如果操作系统或硬件发生故障,或者系统被强制关闭,事务可能无法正常完成。
4.springboot中哪里用到了反射机制
依赖注入(Dependency Injection): Spring Boot 使用反射来实现依赖注入。在你的应用程序中,你可以使用 @Autowired 注解来注入依赖关系。Spring 通过反射来检查和设置注入的属性或构造函数参数。 组件扫描: Spring Boot 通过扫描包路径来发现和注册组件(例如,@Controller、@Service、@Repository等)。这涉及到使用反射来检查类的注解和创建相应的对象。 AOP面向切面编程: Spring Boot 使用 AOP 实现一些横切关注点,例如事务管理、日志记录等。AOP 在运行时通过代理生成机制,使用了反射来创建代理对象,并在方法执行前后织入横切逻辑。 动态代理: Spring Boot 中的一些特性,例如缓存、事务管理等,使用了动态代理。动态代理是通过反射在运行时创建代理对象的一种机制。 数据绑定: Spring Boot 中使用了数据绑定来将外部配置文件中的属性值绑定到 Java 对象上。这个过程中涉及到通过反射设置对象的字段。 BeanPostProcessor: Spring 框架中有一些接口,如 BeanPostProcessor,允许在 bean 初始化前后进行处理。这涉及到使用反射来检查和修改 bean 的属性。
5.再发布jwt令牌的时候通过线程的局部变量对其设定id值,这样就可以再后续增删改差的时候更快方便的获取到id值
一些其他知识点:苍穹外卖项目总结-CSDN博客
标签:反射,事务,未完结,Spring,Boot,下架,外卖,套餐,苍穹 From: https://www.cnblogs.com/sixsix666/p/18048513