spring有多个对象时如何注入

java 复制代码
@Bean
	public ReactAgent chatbotReactAgent(ChatModel chatModel,
			ShellTool2 shellTool,
			ToolCallback executePythonCode,
			ToolCallback viewTextFile,
			MemorySaver memorySaver) {
		return xxx;

这个里面有两个ToolCallback,如何注入

java 复制代码
@Bean
	public ToolCallback executePythonCode() {
		return FunctionToolCallback.builder("execute_python_code", new PythonTool())
				.description(PythonTool.DESCRIPTION)
				.inputType(PythonTool.PythonRequest.class)
				.build();
	}

	// 把框架提供的 ReadFileTool 包装成名为 view_text_file 的读文件工具。
	@Bean
	public ToolCallback viewTextFile() {
		ReadFileTool readFileTool = new ReadFileTool();
		return FunctionToolCallback.builder("view_text_file", readFileTool)
				.description("View the contents of a text file. The file_path parameter must be an absolute path. " +
						"You can specify offset and limit to read specific portions of the file. " +
						"By default, reads up to 500 lines starting from the beginning of the file.")
				.inputType(ReadFileTool.ReadFileRequest.class)
				.build();
	}

spring对象注入

1.先按类型找;

2.如果同类型有多个,再按 Bean 名区分,默认函数名就是Bean的名字,也可以指定;

java 复制代码
@Bean("pythonToolCallback")
public ToolCallback executePythonCode() {
    return FunctionToolCallback.builder("execute_python_code", new PythonTool())
            .description(PythonTool.DESCRIPTION)
            .inputType(PythonTool.PythonRequest.class)
            .build();
}

3.如果还分不清,就用 @Qualifier 明确指定。

java 复制代码
@Qualifier("pythonToolCallback") ToolCallback executePythonCode
相关推荐
牡丹雅忻116 分钟前
AES 加密模式演进:从 ECB、CBC 到 GCM 的 C# 深度实践
java·开发语言·c#
学者猫头鹰25 分钟前
Java 8 核心新特性
java
Python私教35 分钟前
Django 6.1 RC1 实测:FETCH_PEERS 两条 SQL 解决 N+1,select_related 还需要吗?
后端·python·django
大侠在此在在此43 分钟前
教你用最简单的数学自底向上地高效学习SQL注入
后端
冰心孤城1 小时前
Excel: xls与xlsx格式转换排坑指南
java·前端·excel
自强的小白1 小时前
maven高级(聚合和私服)以及私服的上传和下载
java·maven
Python私教1 小时前
Django 6.0 自带 Tasks 到底能不能替代 Celery?跑完 3 组后台任务后我有答案了
后端·python·django
唐青枫1 小时前
Java ReentrantLock 实战详解:比 synchronized 更灵活的可重入锁
java
看昭奚恤哭2 小时前
ontainer App】Container App无法从Container Registries 拉取镜像 - 报错 Forbidden
后端·python·flask
ShiXZ2132 小时前
Java 8 Stream API 实用技巧详解:从入门到精通
java·开发语言