fix: 修复bean实例化问题

This commit is contained in:
landaiqing
2024-05-16 13:53:28 +08:00
parent 40afaf4e96
commit 8f4b8a3331
6 changed files with 29 additions and 20 deletions

View File

@@ -6,10 +6,7 @@ import com.schisandra.auth.common.redis.RedisUtil;
import com.schisandra.auth.common.utils.AESUtils;
import com.schisandra.auth.common.utils.RotateImageUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
@@ -39,7 +36,7 @@ public class ReactRotateCaptchaController {
* @author zlg
* @date: 2024/5/10 16:28
*/
@PostMapping("get")
@GetMapping("get")
public CaptchaResult get() throws Exception {
RotateImageUtils rotateImageUtils = new RotateImageUtils();
CompletableFuture<HashMap> futurePrice = CompletableFuture.supplyAsync(() -> {

View File

@@ -1,5 +1,6 @@
package com.schisandra.oss.application.controller;
import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.fastjson.JSON;
import com.google.common.base.Preconditions;
import com.schisandra.oss.application.convert.SchisandraOssMinioDTOConverter;
@@ -24,8 +25,6 @@ import javax.annotation.Resource;
@RequestMapping("/oss/minio/")
@Slf4j
public class SchisandraOssMinioController {
@Resource
MinioOssClient minioOssClient;
@Resource
private SchisandraOssMinioDomainService schisandraOssMinioDomainService;
@@ -115,8 +114,10 @@ public class SchisandraOssMinioController {
}
@PostMapping("getBaseInfo")
public Result getBaseInfo(@RequestParam String fileName) {
return Result.ok(minioOssClient.getBaseInfo(fileName));
public Result getBaseInfo(@RequestParam String fileName,@RequestParam String userId) {
MinioOssClient bean = SpringUtil.getBean(userId);
System.out.println(bean);
return Result.ok(bean.getBaseInfo(fileName));
}

View File

@@ -28,6 +28,9 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import okhttp3.Headers;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.stereotype.Component;
import java.io.File;

View File

@@ -1,5 +1,6 @@
package com.schisandra.oss.application.oss.core.minio;
import cn.hutool.extra.spring.SpringUtil;
import com.schisandra.oss.application.convert.SchisandraOssMinioDTOConverter;
import com.schisandra.oss.application.dto.SchisandraOssMinioDTO;
import com.schisandra.oss.application.oss.core.StandardOssClient;
@@ -8,13 +9,17 @@ import com.schisandra.oss.application.oss.core.minio.model.MinioOssConfig;
import com.schisandra.oss.domain.bo.SchisandraOssMinioBO;
import com.schisandra.oss.domain.service.SchisandraOssMinioDomainService;
import io.minio.MinioClient;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import okhttp3.OkHttpClient;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
@@ -25,16 +30,12 @@ import java.util.concurrent.TimeUnit;
*/
@Component
@Slf4j
@Scope(value = "prototype")
public class MinioOssConfiguration {
@Resource
MinioOssClient minioOssClient;
@Resource
private SchisandraOssMinioDomainService schisandraOssMinioDomainService;
public StandardOssClient minioOssClient(String userId) {
public void minioOssClient(String userId) {
CompletableFuture<SchisandraOssMinioDTO> futurePrice = CompletableFuture.supplyAsync(() -> {
SchisandraOssMinioBO minioBO = schisandraOssMinioDomainService.getMinioConfig(Long.valueOf(userId));
SchisandraOssMinioDTO minioDTO = SchisandraOssMinioDTOConverter.INSTANCE.convertBOToDTO(minioBO);
@@ -63,16 +64,14 @@ public class MinioOssConfiguration {
minioOssClientConfig.setCallTimeout(minio.getCallTimeout());
minioOssConfig.setClientConfig(minioOssClientConfig);
}
return minioOssClient(minioOssConfig);
minioOssClient(minioOssConfig);
SpringUtil.registerBean(userId,minioOssClient(minioOssConfig));
}
public StandardOssClient minioOssClient(MinioOssConfig minioOssConfig) {
minioOssClient.setMinioOssConfig(minioOssConfig);
minioOssClient.setMinioClient(minioClient(minioOssConfig));
return minioOssClient;
return new MinioOssClient(minioClient(minioOssConfig),minioOssConfig);
}
public MinioClient minioClient(MinioOssConfig minioOssConfig) {

View File

@@ -2,6 +2,11 @@ package com.schisandra.oss.application.oss.core.minio.model;
import com.schisandra.oss.application.oss.constant.OssConstant;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.context.annotation.ScopedProxyMode;
import java.io.Serializable;

View File

@@ -4,6 +4,11 @@ package com.schisandra.oss.application.oss.core.minio.model;
import com.schisandra.oss.application.oss.model.SliceConfig;
import com.schisandra.oss.application.oss.utils.OssPathUtil;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.context.annotation.ScopedProxyMode;
import java.io.Serializable;
@@ -14,7 +19,6 @@ import java.io.Serializable;
*/
@Data
public class MinioOssConfig implements Serializable {
private String basePath;
private String endpoint;
private String accessKey;