- 博客(7)
- 收藏
- 关注
原创 springboot学习笔记3
这个也是常用注解,再次强调和@Resource注解的区别,Autowired是spring注解而resource是java注解,且前者依赖类型注入存在多个Bean再按名称,后者依赖名称注入,找不到再按类型。可以用来标注控制器方法或类。另外我们可以看到上面有一个@Retention注解,这个注解用来告诉JVM或编译器,目标注解应该保留到哪个阶段,用来控制注解的生命周期。在上面的程序中,我们先使用.class获取Class对象,Class是反射的入口,是JVM加载完一个类后,在堆内存中产生的该类的。
2025-02-28 23:39:16
666
原创 Redis学习笔记3
这个注解是spring提供的用于声明事务管理的注解,使得spring在方法执行时自动处理数据库事务,保证数据的一致性完整性并且在出现异常时回滚事务。举个例子,如果100个线程同时请求,其中一个线程首先完成数据修改,后面99个线程在访问数据时和要修改数据前的数据不一致,则这些线程全部失败。注意,在set中有sismember方法判断是否是set成员,但是在sortedset中没有这个方法,通过获取用户id,用intern函数获得该id在常量池中的对象,锁住这个在常量池中唯一的字符串。
2025-02-23 16:43:56
1344
原创 MySQL笔记记录
insert into 表名 (字段1,字段2) values (值1,值2),(值1,值2);insert into 表名 values (值1,值2,...),(值1,值2,...);--设置别名,别名不需要加引号,但如果别名中有空格则需要加引号。insert into 表名 values (值1,值2,值3....);--指定字段添加数据。insert into 表名(字段1,字段2) values (值1,值2);update 表名 set 字段1=值1,字段2=值2,.... where 条件。
2025-02-20 14:10:33
667
原创 springboot学习笔记2
用户通过浏览器发送 HTTP 请求。作为前端控制器接收请求。查找合适的,找到对应的Controller。Controller处理业务逻辑,并将数据返回到视图层。使用解析视图名称。视图层渲染数据并生成 HTML 页面。返回生成的 HTML 页面给客户端。
2025-02-17 19:46:12
1336
原创 SpringBoot学习笔记1
例如通过@Bean注解注入的,它对应的definition对象就是ConfigurationClassBeanDefination,而通过@Component注解,@Controller,@Service等注解注入的,其对应的definition就是ScannedGenericBeanDefinition。一个接口,用于描述Bean的名称,属性,实现的接口,添加的注解等。也就是说,前者按类型注入,如果有多个同类型的Bean,则报错,需要指定名称注入。而后者按名称注入,没有匹配的名称时再尝试按类型注入。
2025-02-16 16:59:00
1469
原创 redis学习笔记2
缓存重建时,先判断锁,即当前线程是否获取锁资源,如果有,则开启一个新的独立线程更新缓存,设置新的逻辑过期时间,此时该线程先返回旧的数据,如果没有则直接返回旧的数据。例如请求了一个空对象,存储在redis中,此时插入该空对象id对应的真实对象,导致在redis更新前数据库与redis中的数据不一致。前者由于更新数据库的时间较长,更新缓存后另一线程可能进行写入数据库操作,速度远快于查询数据库,导致读到的数据与更新数据不一致。在更新缓存和数据库时有两种策略:先更新缓存后更新数据库和先更新数据库再更新缓存。
2025-02-11 16:29:08
263
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人