利用Lombok构造注入以及@value的使用

本文探讨了如何在Spring Boot中通过构造注入避免频繁创建构造方法,同时解决@Value在全局变量中的问题,介绍了使用@Value作为参数和在configuration类中定义的方法。

注入的bean的时候采用构造注入有懒加载的效果,官方也推荐使用该方式。以至于每次新增一个注入bean的时候,都要重新生成构造方法,实在麻烦,就有了以下操作,以Controller层为例:

以后没新注入一个Bean直接加上即可。

但是由于用的是构造注入,所以@value在做全局变量时会失效,如下:

解决这种情况,可以利用@value来做参数来解决,如下:

或者configuration类来进行定义 

 

package com.teacher.config; import com.teacher.util.QwenClient; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate; @Configuration public class AiConfig { @Value("${ai.qwen.api-key}") private String qwenApiKey; @Value("${ai.qwen.model:qwen-turbo}") private String defaultModel; @Value("${ai.qwen.max-tokens:2000}") private int defaultMaxTokens; @Value("${ai.qwen.temperature:0.7}") private double defaultTemperature; @Bean public QwenClient qwenClient() { QwenClient client = new QwenClient(); client.setApiKey(qwenApiKey); client.setDefaultModel(defaultModel); client.setDefaultMaxTokens(defaultMaxTokens); client.setDefaultTemperature(defaultTemperature); return client; } @Bean public RestTemplate aiRestTemplate() { return new RestTemplate(); } } 中出现了无法解析 'QwenClient' 中的方法 'setApiKey'无法解析 'QwenClient' 中的方法 'setDefaultModel'无法解析 'QwenClient' 中的方法 'setDefaultMaxTokens'无法解析 'QwenClient' 中的方法 'setDefaultTemperature' package com.teacher.model.dto; import lombok.Getter; import lombok.Setter; @Getter @Setter public class AiRequest { private String prompt; // 用户输入的提示词 private String context; // 上下文信息(可选) private String model = "qwen-max"; // 默认使用通义千问最大模型 private int maxTokens = 2000; // 最大生成token数 private double temperature = 0.7; // 生成温度(0-1) private boolean stream = false; // 是否流式输出 private String userId; // 用户ID(用于个性化生成) }
最新发布
07-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PH = 7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值