<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/NaTook</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; NaTook]]></copyright><item><title><![CDATA[Spring 实现@Value注入静态字段]]></title><link>https://blog.youkuaiyun.com/NaTook/article/details/121727539</link><guid>https://blog.youkuaiyun.com/NaTook/article/details/121727539</guid><author>NaTook</author><pubDate>Sun, 05 Dec 2021 12:10:06 +0800</pubDate><description><![CDATA[1. 前言
在开发 spring 应用时，不可避免会有读取配置文件，注入到静态变量或者常量字段的场景。
我们最常用的是 @Value 注解，但是 @Value 不支持静态字段的注入。
本文搜索了常见的解决方案，发现或多或少都有一定的限制。于是结合自己对 spring 的了解，增强 @Value 的功能，实现静态字段的直接注入。代码实现没有经过严格测试，有问题请批评指正。
2. 注入静态变量常规方案
2.1. @Value 标记 set 方法
示例代码如下：

类必须是 spring bean
@Value ]]></description><category></category></item><item><title><![CDATA[数据库 并发更新之乐观锁和悲观锁]]></title><link>https://blog.youkuaiyun.com/NaTook/article/details/120595507</link><guid>https://blog.youkuaiyun.com/NaTook/article/details/120595507</guid><author>NaTook</author><pubDate>Sun, 03 Oct 2021 16:09:10 +0800</pubDate><description><![CDATA[文章目录1. 问题引出2. 数据库悲观锁解决并发更新3. 数据库乐观锁解决并发更新4. 乐观锁 CAS 的 ABA 问题5. 拓展思考5.1. 悲观锁和排他锁、乐观锁和 CAS 分别有什么区别5.2. 悲观锁和乐观锁适用场景5.3. 乐观锁是否必须加版本号或时间戳字段
1. 问题引出
假设现在有一张 item 商品表，quantity 字段表示该商品的数量。
这时候有一个用户下了订单，购买一件商品。那么我们可以用以下 SQL 来实现这个逻辑
UPDATE item SET quantity = quanti]]></description><category></category></item></channel></rss>