要在Spring Boot项目中集成MinIO,请按照以下步骤操作:
在pom.xml
文件中添加MinIO Java SDK的依赖:
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.3.4</version>
</dependency>
创建一个名为MinioConfig
的配置类,用于存放MinIO的相关配置信息。在这个类中,我们将使用@Value
注解从application.properties
文件中读取配置信息,并创建一个MinioClient
实例。
import io.minio.MinioClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MinioConfig {
@Value("${minio.endpoint}")
private String endpoint;
@Value("${minio.accessKey}")
private String accessKey;
@Value("${minio.secretKey}")
private String secretKey;
@Bean
public MinioClient minioClient() {
return MinioClient.builder()
.endpoint(endpoint)
.credentials(accessKey, secretKey)
.build();
}
}
application.properties
文件中添加MinIO配置信息在application.properties
文件中添加以下配置信息,用于连接到MinIO服务器:
minio.endpoint=http://localhost:9000
minio.accessKey=your_access_key
minio.secretKey=your_secret_key
请将your_access_key
和your_secret_key
替换为你的MinIO服务器的实际访问密钥和秘密密钥。
现在你可以在其他类中注入MinioClient
并使用它来操作MinIO服务器。例如,你可以创建一个名为MinioService
的服务类,用于上传和下载文件:
import io.minio.GetObjectArgs;
import io.minio.PutObjectArgs;
import io.minio.MinioClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.InputStream;
@Service
public class MinioService {
@Autowired
private MinioClient minioClient;
public void uploadFile(String bucketName, String objectName, InputStream inputStream) throws Exception {
minioClient.putObject(PutObjectArgs.builder().bucket(bucketName).object(objectName).stream(inputStream, -1, 10485760).build());
}
public InputStream downloadFile(String bucketName, String objectName) throws Exception {
return minioClient.getObject(GetObjectArgs.builder().bucket(bucketName).object(objectName).build());
}
}
现在你已经成功地在Spring Boot项目中集成了MinIO。你可以使用MinioService
类来上传和下载文件,以及执行其他MinIO操作。