You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SpringBoot中通过application.properties配置GCP Vision API凭证

解决SpringBoot整合GCP Vision API通过application.properties配置凭证的问题

问题根源

你的配置类中硬编码了Credentials实例,没有利用Spring Cloud GCP自动配置提供的CredentialsProvider,导致application.properties里的凭证配置无法生效。

修正步骤

1. 确保引入Spring Cloud GCP依赖

如果项目未引入相关依赖,需在构建文件中添加:
Maven(pom.xml)

<dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>spring-cloud-gcp-starter-vision</artifactId>
</dependency>
<dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>spring-cloud-gcp-starter</artifactId>
</dependency>

Gradle(build.gradle)

implementation 'com.google.cloud:spring-cloud-gcp-starter-vision'
implementation 'com.google.cloud:spring-cloud-gcp-starter'

2. 重构配置类,移除硬编码逻辑

修改VisionConfiguration类,直接注入Spring自动配置的CredentialsProvider,无需手动创建凭证实例:

@Configuration
public class VisionConfiguration {

    @Bean
    public CloudVisionTemplate cloudVisionTemplate(ImageAnnotatorClient imageAnnotatorClient) {
        return new CloudVisionTemplate(imageAnnotatorClient);
    }

    @Bean
    public ImageAnnotatorClient imageAnnotatorClient(CredentialsProvider credentialsProvider) throws IOException {
        ImageAnnotatorSettings settings = ImageAnnotatorSettings
                .newBuilder()
                .setCredentialsProvider(credentialsProvider)
                .build();
        return ImageAnnotatorClient.create(settings);
    }
}

3. 修正application.properties配置

确保credentials.json放在src/main/resources目录下,配置项补充classpath:前缀以明确类路径资源:

spring.cloud.gcp.credentials.location=classpath:credentials.json

4. 验证配置生效

启动应用后,Spring会自动加载application.properties中的配置,通过CredentialsProvider获取凭证,无需再硬编码Credentials实例。

内容的提问来源于stack exchange,提问作者Abdalrazag Al-Shrufat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 03:09:55