自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 基于RAG检索实现智能客户系统

RAG(Retrieval-Augmented Generation)检索技术是一种结合信息检索(Retrieval)和生成(Generation)的混合模型方法,旨在通过检索相关信息来增强生成模型的性能。RAG 技术特别适用于需要复杂背景信息或大规模知识库支持的任务,如问答系统、对话系统和文本生成等。

2024-06-29 21:15:44 364

原创 docker安装Tomcat,Mysql,Redis

(2)启动命令:docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=lx123456 -d mysql:5.7。docker run -d -p 6379:6379 redis:6.0.8 运行redis。(1)拉取mysql镜像:docker pull mysql:5.7,拉的是5.7版本的。(3)docker images docker:查看是否拉取下来了。redis-cli 进入redis客户端,进行命令交互。进入mysql:mysql -uroot -p。

2024-05-27 19:19:16 495

原创 Springboot整合Mybatis,MybatisPlus源码分析,自动装配实现包扫描源码

在项目中使用MapperScan注解和不使用MapperScan注解其实区别不大,只是如果你不适应MapperScan注解的话,那么你需要对你的Mapper接口加上@Mapper注解那么Springboot才能够扫描到,如果你使用了@MapperScan注解的话,那么你只需要配置包路径即可。

2024-05-27 15:54:11 1190

原创 全网最细的spring启动源码分析

到这spring启动一些比较核心的方法就介绍完了,在spring启动的时候包括了很多方法,我这里只列举了一些核心的方法,但是每一个核心的方法里面核心的逻辑我这里并没有做分析,如果对其感兴趣的话可以在评论区留言,我再发关于它核心逻辑处理的源码分析。这个方法在spring中其实是一个模板方法,spring并没有实现,留给子类实现的,比如springboot就实现了这个这个方法,在这个方法中启动tomcat的。在这个方法中就完成了很多核心的流程,比如:配置类的解析,包的扫描等操作。

2024-05-24 14:13:59 683 1

原创 Spring创建bean的生命周期初探

在实际项目中,不管是Spring还是Springboot,在启动的时候都会去为我们创建bean,然后将其存储在单例池中,需要时根据beanName获取即可,既然Spring在启动的时候会为我们创建好bean对象,那么自然就会存在创建bean的过程,也就是bean的生命周期。那么在这个生命周期中肯定就会有创建bean对象的动作,以及对bean增强的操作,下面通过源码分析Spring从开始创建bean到结束期间经过了哪些步骤。

2024-05-23 11:10:09 645

原创 Spring之FactoryBean的处理底层源码分析

上面的demo是在main方法中调用getBean()方法获取对象,我们知道Spring在启动的时候会去扫描,生成对应的bean对象然后存储在单例池中,所以在这里肯定能够从单例池中获取到对应的bean对象。下面是一个LxFactoryBean类实现了FactoryBean:并且在它的getObject()方法中返回了一个User对象。发现它输出的结果为LxFactoryBean了,不再是上面的User对象了。到这里前面的疑问就清除了,为什么加&符号和不加&符号获取到的对象不一样了。

2024-05-22 17:39:40 992 3

原创 Spring异步注解@Async,@EnableAsync底层源码分析

Spring实现Aop,首先是需要对应的Advisor,里面就包含了对应的pointCut和advice,其中pointCut就是对应的切点,advice对应了代理的逻辑(这里对于SpringAop我就不详细讲述了,如果感兴趣可在评论区留言,我出一篇关于Aop原理的文章)。那么就不需要创建了代理对象了,只需要看当前的这个对象是不是满足pointCut,也就是当前的这个对象里面的方法有没有加@Async注解,如果加了,那么就表示当前这个对象里面的方法需要代理拦截,那么就添加advisor即可。

2024-05-21 11:35:57 267 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除