Spring
某工程师$
Java Python Go JS .etc
展开
-
REPEATABLE-READ隔离级别 事务中无法读到其它事务提交了的最新数据
前言:业务要求一个简单的并发控制,使得一条数据只被确认一次,我的方案是 悲观锁,就是在事务中先对数据行加锁(MySQL InnoDB 行锁基于索引),判断是否已经确认过,未确认的情况下确认,已确认则事务提交释放锁。代码写完,结果发现未生效,就开始了满脑子问号的排查过程。业务代码结构如下: //不要这么做 //一没对异常进行处理 //二...原创 2020-01-18 14:51:16 · 1058 阅读 · 0 评论 -
《Spring揭秘》读书笔记一:Spring框架总体结构
一、Core:整个Spring框架都是构建在Core核心模块之上。核心模块提供了IoC容器、框架内部使用的工具类(BeanWrapper对对象的属性赋值比反射更方便、DataSourceUtils用于管理数据库连接等)。IoC容器可以帮助我们以 依赖注入的方式管理对象之间的依赖关系。二、AOP:Spring提供了轻量的AOP框架,只支持方法执行级别的AOP,可以覆盖80%的需求。采用...原创 2018-09-12 10:48:20 · 307 阅读 · 0 评论 -
《Spring 揭秘》读书笔记二:IoC容器
基本概念一、IoC 即 Inversion of Control,控制反转 又叫 依赖注入。这使得 当我们需要一个对象实例时,不需要自己手动通过new的方式构建,而是直接从容器获取一个实例。现在,对象的构建以及依赖对象的注入工作都交给了 IoC容器,极大地减少了开发工作量。二、注入的方式:1、构造方法注入。对象构造完成之后,就立马可用。但是,当依赖较多时,构造方法的维护和管理是个问题,...原创 2018-09-13 15:53:24 · 265 阅读 · 0 评论 -
《Spring揭秘》读书笔记四:统一事务管理
一、背景和支撑事务代码混在业务代码之中,不便于维护。基于上一章介绍的 AOP可以想到,通过AOP的方式 将 Spring事务从 业务代码中剥离出来。 自己实现的话:声明一个注解,然后通过 AOP的 @annoation的 Pointcut 为 带有 自定义注解的方法 加入事务逻辑即可。二、Spring 统一的方式事务有多种实现,Spring 统一抽象出了 PlatformTran...原创 2018-09-17 17:53:07 · 599 阅读 · 0 评论 -
《Spring揭秘》读书笔记四:Spring MVC
从《Spring揭秘》中抄个图 都在图里了。 基于注解方式的原理:注解相关的 HandlerMapping 会 扫描所有的 带有 @Controller注解的 POJO,根据 类和方法上的 @RequestMapping注解中的 url和 请求方式等 参数, 可以定位到具体的类中的 对应方法,在 完成参数绑定的过程之后...原创 2018-09-17 17:59:39 · 359 阅读 · 0 评论 -
《Spring揭秘》读后感(给你们强烈安利这本书)
虽然网上有口皆碑,我还是要专门写个Blog来发表下我的感受。这本书讲的十分详细和透彻,读下来需要很大的毅力和勇气,第一遍读的过程说实话很煎熬,但是第二遍就好很多了。坚持读完,是绝对值的,而且你会有一种忍不住读第二遍的冲动。看别人的读书笔记真的不如自己读一波。看别人的读书笔记真的不如自己读一波。看别人的读书笔记真的不如自己读一波。...原创 2018-09-17 18:05:14 · 4491 阅读 · 0 评论 -
《Spring揭秘》读书笔记三:AOP
一、一张图看懂 OOP和AOP(来自 《Spring揭秘》)其中,竖着的各种业务流程对应了 OOP, 而 横着的针对各个流程的统一操作对应 AOP。可以将AOP看作是 对OOP的一种补充和增强。二、AOP的发展历史a、静态AOP:横切点和横切逻辑以Aspect形式实现之后,会通过特定的编译器将实现好的 Aspect编译并织入到对应的类中。好处是:直接以字节码的形式编译到Java...原创 2018-09-15 15:09:18 · 416 阅读 · 0 评论