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

View File

@@ -1,5 +1,6 @@
package com.schisandra.oss.application.controller; package com.schisandra.oss.application.controller;
import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.schisandra.oss.application.convert.SchisandraOssMinioDTOConverter; import com.schisandra.oss.application.convert.SchisandraOssMinioDTOConverter;
@@ -24,8 +25,6 @@ import javax.annotation.Resource;
@RequestMapping("/oss/minio/") @RequestMapping("/oss/minio/")
@Slf4j @Slf4j
public class SchisandraOssMinioController { public class SchisandraOssMinioController {
@Resource
MinioOssClient minioOssClient;
@Resource @Resource
private SchisandraOssMinioDomainService schisandraOssMinioDomainService; private SchisandraOssMinioDomainService schisandraOssMinioDomainService;
@@ -115,8 +114,10 @@ public class SchisandraOssMinioController {
} }
@PostMapping("getBaseInfo") @PostMapping("getBaseInfo")
public Result getBaseInfo(@RequestParam String fileName) { public Result getBaseInfo(@RequestParam String fileName,@RequestParam String userId) {
return Result.ok(minioOssClient.getBaseInfo(fileName)); 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.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import okhttp3.Headers; 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 org.springframework.stereotype.Component;
import java.io.File; import java.io.File;

View File

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