- 博客(85)
- 资源 (13)
- 问答 (1)
- 收藏
- 关注
原创 Spring AI使用tool Calling和MCP
Spring AI版本1.0.0.M6在人工智能与软件开发深度融合的时代,Spring AI 作为一个强大的框架,持续为开发者提供着高效且便捷的工具,以实现与大语言模型(LLM)的无缝交互。Spring AI 的最新版本引入了一系列令人瞩目的特性,其中 Function Calling 到 Tool Calling 的转换以及模型上下文协议(MCP)的应用,标志着该框架在 AI 集成领域的又一次重大飞跃。
2025-04-12 15:31:59
902
原创 SpringAI基于API对大语言模型调用
SpringAI是一个专为AI工程设计的应用框架,旨在将Spring生态系统设计原则应用到AI领域。它支持多种AI模型,包括聊天、文生图、嵌入式模型等,并提供了同步和流式API。SpringAI的目标是简化AI应用的开发,让开发者能够更容易地定义自己的POJO来调用AI接口,进行训练和调用。通义千问是阿里巴巴推出的一款大型语言模型,具备强大的自然语言处理能力。它能够理解复杂的指令,进行逻辑推理,生成连贯的文本,并在多个领域表现出色。
2025-01-24 11:36:16
1069
原创 SpringAI基于Ollama调用通义千问
在人工智能领域,大语言模型(LLM)的发展已经取得了显著进展,这些模型在自然语言处理、知识图谱构建和智能问答等多个方面表现出色。SpringAI 项目旨在简化包含人工智能功能的应用程序的开发,避免不必要的复杂性。该项目从著名的 Python 项目(例如 LangChain 和 LlamaIndex)中汲取灵感,但 SpringAI 并不是这些项目的直接移植。
2025-01-24 11:33:41
880
原创 java操作服务器
JSch是一个纯 Java 实现的 SSH2 客户端库,它允许 Java 应用程序通过 SSH 协议连接到 SSH 服务器,并执行命令、传输文件等。JSch是基于 SSH-2 协议的一个开源项目,广泛用于需要远程执行命令或文件传输的 Java 应用程序中。
2024-09-23 08:44:18
432
1
原创 如何更好的使用Gradle
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)来描述项目的构建逻辑。Gradle具有高度的可扩展性,可以支持多种编程语言和平台。Maven是一个项目管理工具,主要用于Java项目。它使用一个名为pom.xml的文件来描述项目的依赖关系、构建过程和项目信息。Maven遵循“约定优于配置”的原则,使得项目结构和构建过程更加规范和统一。
2024-08-29 09:08:28
798
原创 统一处理响应实体中的ID转换
在工作中,我们经常有这样的业务情况,实体间通过id实现数据业务上的关联,比如订单和用户,订单的创建人id、商品id等,在页面查询时我们需要将对应的id信息转换成对应的中文描述,比如用户中文名称,商品中文名称等。如果是单条数据的展示还好,但是设计到列表查询,如何高效、优雅地实现这个效果呢?现在接口返回的数据基本都是JSON格式,比如spring中使用了jackson,在controller层对结果进行json序列化,而我们要做的就是在序列化的过程中,实现id的转换。
2024-08-29 09:05:15
1093
5
原创 统一处理业务数据中的公共字段
在进行业务数据管理时,总会有一些字段业务含义相同,但是每张表都要的公共字段需要管理,比如创建人、创建时间、修改人、修改时间等如何在业务数据存储过程中不不进行这些重复的得操作?如果你的项目基于jpa作为数据持久层框架,可以看看如何实现…
2024-08-26 12:09:54
246
原创 Spring统一处理请求响应与异常
在web开发中,规范所有请求响应类型,不管是对前端数据处理,还是后端统一数据解析都是非常重要的。今天我们简单的方式实现如何实现这一效果。
2024-08-08 22:05:07
350
原创 20年记事
好久没有写技术博客了,并不是因为自己没有学习,只不过由于在年底换了工作,一来没有心力做这个,二来不能像以前那样有充足的时间做这些事了,准备在下一年重新规划规划,要有新的目标与高度,新的执行与方式。写这篇文章的起因,并不是对年底的总结,只是出于生活的现状对自身情绪的影响,触发了思想与文字碰撞,藉以梳理下自己的情绪同时排解下内心的躁动与不安。人生不长,但是到现在其实也活的不短了,回首三十年,没...
2020-01-02 10:56:34
341
2
原创 springboot DataSource
springboot提供了很多的自动配置,借助其内部的实现机制,我们在使用一些模块时只需要简单的依赖引入即可实现相关功能的注入与切换。在web开发过程中,与数据库经常会有联系,同样在springboot中对数据源(DataSource)也提供了相应的处理流程来方便开发者。下面会从几个方面做简单的说明,作为学习的记录:说明此次分析的springboot版本为2.2.0.RELEASE,不同版...
2019-11-12 12:06:33
2629
原创 springboot swagger生成文档
Swagger 生成html api文档通过方法生成生成过程接口生成原理: 1)使用Springfox-swagger2生成swagger.json文件 2)使用Swagger2markup将swagger.json文件转换成asciidoc文档片段,包括(definitions.adoc、overview.adoc、paths.adoc、security.adoc) ...
2019-11-06 11:07:09
580
原创 springboot restdocs生成API文档
简介restdocs通过手工编写文档模板,测试生成代码的形式来生成文档依赖版本springboot 2.1.9.RELEASEspring-restdocs-mockmvc 2.0.4.RELEASEspring-restdocs-asciidoctor 2.0.3.RELEASE(2.0.4下载不下来)引入依赖 <dependency> &...
2019-11-05 13:37:38
749
原创 springboot-starter
spring-boot-*-starter对于spring的项目,我们大多数情况下需要完成的工作是如何将对象注册到spring容器中,由容器完成对象依赖关系的管理,然后我们从容器中安类型或名称取出实例进行使用。如今在项目变得愈发的庞大复杂的情况下,我们一般会将一个大项目按照模块、业务等进行拆分,看spring frameworker 就可以知道,其核心由多个模块构成,同时衍生出很多的模块与...
2019-08-19 13:35:24
567
原创 springboot返回值处理
上一次说到了springboot中对于参数处理的扩展,当然主要是说到如何针对特有的请求数据进行转换,并非站在spring的基础上看spring如何完成这一逻辑,而关于spring内部处理或者说内置的处理将在sping源码中详细去理解。今天将要说到的是springboot中如何处理方法返回值,使用spring较多的人会看到,对于方法的返回一般会有两种模式,一种是页面,一种是数据,分别对应了Mod...
2019-08-07 17:33:07
7060
原创 springboot 参数转换
在使用springboot或者说在使用springmvc时,很多人都会遇到请求到达controller时,如何将Request中的数据传递到对应的方法上,但是我想很多人都会遇到一些关于参数转换的问题,主要包括两个方面:1、请求中字符串类型的参数如何转换成controller对应方法的参数2、请求数据格式与参数填充问题怎么理解上面提出的两点,举个例子,当我们请求为字符串类型时,而参数...
2019-07-27 09:49:47
2004
原创 springboot异常处理
对于异常的处理可以说是一个系统完整与文档的关键,它能够帮助我们对行为故障做出对于的反馈,对业务逻辑进行合理的补偿,但是如何处理异常,对系统中格式各样的异常如何制定对应的处理模式。说到springboot的异常处理,可以先回忆下在springmvc中是如何处理的1、@ExceptionHandler 通过在Controller中指定的方法上针对请求时出现的异常做下一步处理2、Handl...
2019-07-11 10:37:12
494
原创 springboot文件上传
以前通过spring使用文件上传时,使用的是commons-io、commons-fileupload组件整合来实现的,转移到springboot之后,也就没关注这块,直接取使用了,最近发现一些配置的影响,代码处理的逻辑与预期的有很大的处理,于是简单的了解了具体的实现方式。首先我们要知道,在springboot中,处理文件上传和spring中是一样的,我们在进行请求提交时,在Dispatche...
2019-06-21 11:10:05
237
原创 zookeeper应用
通过上一篇的学习,对zookeeper大致有了一些了解,但是想在实际开发与合适的业务场景中使用,还是需要依赖更多深入的学习,同时在项目中不断的实实践,发现问题并解决,才能对技术有更清晰与独特的见解。本文从几个方面去学习如何使用zookeeper。1、通过原生的api进行操作2、通过zkClient进行操作3、使用curator进行操作4、各种应用场景的实现当然以上内容主要来源于...
2019-06-16 22:10:00
135
原创 springboot与Jpa整合
对springboot的使用也是有一段时间了,在使用上确实简化了很多,也可以让一个刚入门的人迅速搭建一套开发环境来,但是随之而来的问题也比较显著,当框架本身无法满足需求或者需要在原有的基础上进行扩展,对原有的模块进行选择性的使用等等,都会带来巨大的麻烦,由于框架帮助我们预先定制了很多可能是比价不错的配置方式,但这些默认的,而这些约定的东西,我们理解多少,哪些复杂的构建关系又如何一眼看穿,所以效率提...
2019-06-15 20:18:47
1698
原创 centos安装oracle
切换root用户1、建用户 groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle id oracle 2、配置文件路径 mkdir /u01/oracle/app/oraInventory #oracle数据库安装目录...
2019-06-05 10:43:00
124
原创 Zookeeper了解及使用
在zookeeper的介绍中,我们经常会看到这样一句话,ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。可以看出,zookeeper主要是在分布式系统中,对各个子系统起到协调的作用,主要解决分布式环境各个系统数据的一致性问题。ZooKeeper 实现诸如配置管理,注册中心,数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队...
2019-05-31 14:41:00
139
原创 Redis应用
redis作为nosql数据库,应用其实就是存取数据,但是凭借着其优越的性能与多维的api支持,已经支持主从集群部署,因此在不同业务场景下往往都会有不同的使用方式。而应用往往是关系的具体的业务才能算的上有价值,今天从几个方面更进一步认识redis。缓存通过其客户端提供的api进行基础的数据存取。针对不同编程语言提供了对应的客户端工具。计数通过string数据类型,通过incr de...
2019-05-26 14:40:00
95
原创 jsch实现与服务器完成文件相关操作
以前为了实现文件上传服务器的功能,于是在晚上搜了下,发现可以通过jsch来实现,同时发现jsch还是与服务器间通过一些命令完成其他操作,觉得不可思议,但是当时也没有过多的了解。而这次需要完成从从服务器下拉文件,开始想到用ftp完成,但是发现借助客户端不是太好实现,或者确实不太了解这方面的知识,想到以前用过jsch,既然能够完成文件的上传,那么是否同样能够完成文件的下载呢?当然在使用前还是会...
2019-05-22 11:27:00
1265
原创 缓存之Redis了解及使用
介绍redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。安装由于开发机器一般都是windows,但是redis一般都是支持linux,可以看到最新的redis都到5.x了,当然redis也开发了windows版本,只不过版本...
2019-05-21 14:32:00
320
原创 RabbitMq可靠性分析
最近了解并简单实用了下Rabbitmq,整个使用也大致了解了,但是要作做到真正的可靠,仅仅依赖于应用提供的方式是否在业务环境中真的能够达到可靠的目的。当然我们所谓的可靠性主要指的以下几方面(个人认为):生产消息时,如果broker处理成功/失败,是否一定会告知生产者 消息生产者告知消息发送成功/失败,是否broker也是一致 消息被消费,broker是否被删除 消息消费后的ack是否能够...
2019-05-21 12:44:00
328
原创 java调用外部应用程序
最近因为需要做视频文件转换,在网上找了下,比较多的推荐是使用ffmpeg来实现,于是准备在java语言的基础上去实现,经过分析其实就是调用ffmpeg提供的应用命令去完成。ffmpeg -i input.mp4 output.avi在java中调用外部应用一般都会使用Runtime.getRuntime().exec();以前其实也使用过,但是没有过深入的研究,在使用是发现也会...
2019-05-17 21:58:00
949
原创 消息中间件Rabbit Mq的了解与使用
MQ(消息队列)作为现代比较流行的技术,在互联网应用平台中作为中间件,主要解决了应用解耦、异步通信、流量削锋、服务总线等问题,为实现高并发、高可用、高伸缩的企业应用提供了条件。目前市面比较流行的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等,而每种产品又有着独特的着重点,可根据业务需要进行选择。这里有对主流MQ的优缺点的一些描述与比...
2019-05-15 14:51:00
235
原创 基于springboot+mybatisplus构建系统管理平台(二)
上一篇主要说到了spring security和mybatis-plus的使用,当然都是使用过程中的一些描述,可能在理解上与实际有一些出入,毕竟是学习的过程,循序渐渐才更有价值。其实后台的服务基本在之前的基础上已经有了,现在的关键就是前段的界面与后台的集成,当然现在很多应用前后端都已经分离,当我们作为两个服务去部署时,其实又会有很多新问题需要处理,同时会有更多的知识需要去了解,当然毕竟在目前阶...
2019-05-13 16:41:00
526
原创 spring security使用与分析
前提使用spring-boot(1.5.10.RELEASE)和spring-security(4.2.4.RELEASE)作为依赖环境 通过maven构建项目 ,idea开发环境构建项目 通过spring initializr向导,选择需要的模块后新建项目,但是要注意,这种方式构建的项目使用的都是最新的jar,项目新建...
2019-05-05 11:50:00
332
cas-server服务war包
2016-06-23
Echarts(baidu)和市级地图的显示,有多个例子,同时有一些疑问
2015-03-31
swagger+springboot通过插件生成api文档出现错误
2018-02-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人