- 博客(14)
- 收藏
- 关注
原创 org.springframework.beans.factory.BeanDefinitionStoreException:Invalid bean definition with name报错解决
如果在排除什么路径扫描,mybatisplus版本不兼容等问题之后,则很有可能是因为引入的依赖有问题。本人用的springboot是3.3.13;
2025-07-14 14:42:21
517
1
原创 2025.1.29
我们在刷题平台网站那个项目的后端开发里,里面因为是使用了mybatisplus框架的,所以在service的实现类里进行查询条件获取的方法里,返回值应该是QueryWrapper<T>(mybatisplus框架定义的一个类,用于自动构建SQL查询语句)再然后如果咱们遇到了一个场景,就是在一个题库里对里面的题目进行分页展示之后,我们还需要对这里面的题目进行条件查询,条件查询之后就不要再进行分页了,因为这样会涉及到分页套分页的场景,一个代码编写比较麻烦,还有个是如果题目数量不大也根本不需要要进行分页了。
2025-01-30 21:45:01
483
原创 2025.1.28
深入挖掘一下在实际开发里的model层,model里一般都有entity(实体类包,需要和数据库中各个表进行字段的相关联),dto(在三层架构里相互传输数据的类包),vo(和dto有点类似我自己也没搞明白,可能区别是在于vo会着重强调展示给前端的数据?userRole varchar(256) default 'user' not null comment '用户角色:user/admin/ban',
2025-01-28 21:51:26
652
原创 2025.1.27
运用的技术是spingboot,redis,mysql和Elasticsearch(这个还没接触过,可以研究一下)。(我自己都不怎么刷题还去做这个项目哈哈哈哈哈哈哈哈哈),是一个全栈的项目,当然依然是做后端,前段的内容准备把后端搞完了之后,再把前端基础看了再做,因为我毕竟是以后端为主。咱们可以分析一下,要做这样一个面试刷题网站,我们需要先做的一定是,研究一下我们做这个项目最起码要哪些功能才能达到我们想要的效果。1.查看题目列表 2.查看题目详情 3.【管理员】管理题目 - 增删改查。动态IP黑白名单过滤。
2025-01-28 15:07:43
299
原创 2025.1.16
的使用只需要引依赖,然后把mapper层里要用的继承一下baseMapper<T>就行了,泛型记得填,直接在业务层里调用crud的方法就能实现单表的crud了。浏览器的对服务端的各种功能进行访问,都需要通过拦截器来判断这个客户端是否有访问权限(token),一般通过登录之后,在一定时间内都可以进行相应的访问。:一种维持浏览器状态的方法,服务器需要识别多次请求是否属于同一浏览器发出的,以便进行数据的共享。拦截器是从登录标记来判断浏览器的请求是否有登录凭证,只需要在登录的时候获取一次就行。
2025-01-16 21:08:40
232
原创 2025.1.14
感觉这两天也没吃啥坏东西啊,怎么这两天上吐下泻的,有点难受。哎,继续学吧,能学多少是多少。动态代理:无侵入式的给代码添加额外的功能,对象有的方法代理里面也需要。不行 感觉今天状态也很差 先润了^.^
2025-01-14 20:20:42
150
原创 2025.1.13
VO和DTO的区别:DTO 更多地用于层与层之间或者服务与服务之间的数据传输,而 VO 更倾向于表示视图层所需的数据或领域模型中的值对象。concat:sql语句,用来进行模糊查询的,例如:concat('%',#{name},'%')@ApiOperation:用在方法上,例如Controller方法,说明方法的用途,作用。@Apimodel:用在实体类上,如entity,VO,DTO等。@Api:用在类上,如controller,表示对类的说明。
2025-01-13 20:51:58
192
原创 2025.1.12
好处:1.提高访问速度(相当于缓存)2.进行负载均衡(前端直接访问后端的话只能访问一台,过了nginx就能实现多台后端服务器一起访问,提高效率,减少压力)3.保证后端服务安全(隐藏后端的url地址)@ConfigurationProperties:属于springboot的注解,表示当前类是配置属性类(如jwt令牌一些属性的相关配置),封装一些配置文件的配置项。MD5加密算法:可以将一个明文的字符串进行一个加密,将他加密成一个32位长度的字符串,用于加密数据库里储存的重要信息。
2025-01-13 10:23:08
310
原创 2025.1.10
lua脚本:一种编程语言,一般是用于写redis的脚本,因为redis里的eval命令就是写脚本,便使用lua来写一些关于分布式锁的命令脚本,来确保这个锁执行时的原子性(可以理解成事物,要么这个脚本内容的命令一起执行,要么一起不执行,来确保不会因为阻塞的原因导致提前释放锁)哎 这个黑马点评的项目感觉要学的学的都差不多了,接下来就看看他的业务介绍吧,如果要用到redis的地方再仔细看,后面还是觉得该沉淀一下技术,回去找个简单点的项目做一下,最后再回来把这个黑马点评的项目再过一遍就去搞八股啦。
2025-01-10 19:19:45
327
原创 2025.1.9
然后在判断库存是否大于0时,再判断一下版本号是不是和刚刚查询库存时保存的版本号相同。2:cas方案(其实就是省略了版本号的存储和查询,把库存当做版本号再查一下,感觉乐观锁确实挺乐观的哈)在进行秒杀业务时,需要考虑在秒杀时,有大量用户同一时间进行抢卷,可能会出现超卖情况,也被称之为。setnx:redis的命令,要新增一个数据时,如果该数据存在就添加失败,所以可以实现。悲观锁因为要保证线程的串行执行,所以性能比乐观锁低,当然安全性也更有保障。cookie是存储在本地的,seesion是存储在浏览器的。
2025-01-09 22:58:11
298
原创 2025.1.8
缓存:在web开发里 经常会出现前后端,数据库之类的地方进行大量的数据交互,然后在数据库之类的地方,因为它是基于磁盘读写,所以效率没那么快,就可能会在这些数据交互的地方产生一些效率问题,所以会在一些地方添加缓存,如前端向后端请求数据的地方使用redis作为缓存层。3.进行多层缓存,放到应用层之类的地方(经典套娃)1.互斥锁:当热点key失效,而客户端有一个线程进行访问时,在他进入查询数据库之前给他加个锁,在他把数据写入缓存之后再释放锁,其他线程就让他们休眠一会儿,再来访问redis看看能不能拿到key。
2025-01-08 21:57:35
852
原创 2025.1.6 / 2025.1.7(碎碎念环节)
但是如果有redis数据库可以替代session的问题,因为redis和session都有以下共同点:基于内存存储,所以访问速度快,然后也满足key,value的键值对存储结构。拦截器:用于拦截前段发到controller层的各种东西,如session等,然后为了避免每个controller里面都得再业务层去写一堆获取session里用户id之内的业务逻辑,所以用拦截器提前拦截这些东西,然后用拦截器去实现这种通用的业务逻辑。哎呀,昨天润出去玩了还没注意没保存,先摸一天吧~。
2025-01-06 09:36:57
209
原创 2025.1.5
这个月完成两个项目,第一个项目是黑马头条那个,有redis的东西,但是感觉做项目的时候还是看到一些熟悉的命令忘了怎么敲,只能说看得懂,但是写不出来,所以我决定开始写博客记录一些常用的命令和代码,以便不时之需。session:这个东西其实一直搞不明白,暂时可以理解成前端在进行登录操作时,需要把用户登录的信息存在里面之类的。@Resouce:和@Autowired差不多,都是ioc/di注入的东西,只是r通常适用于javaee原生框架里,a适用于spring框架里。
2025-01-05 22:29:48
225
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅