From 24bbb63bf7c613d60e2f957245b79d1cb4de7ee9 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Fri, 5 Dec 2025 16:14:43 +0800 Subject: [PATCH] =?UTF-8?q?feat(config):=20=E6=B7=BB=E5=8A=A0Mybatis=20Plu?= =?UTF-8?q?s=E5=88=86=E9=A1=B5=E6=8F=92=E4=BB=B6=E5=92=8CMapper=E6=89=AB?= =?UTF-8?q?=E6=8F=8F=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 配置MybatisPlusInterceptor分页插件 - 添加@MapperScan注解扫描多个mapper包 - 为多个service注入添加@Lazy注解解决循环依赖 - 在VoucherServiceImpl和PuzzleGenerateServiceImpl中启用懒加载 - 优化订单服务中的依赖注入配置 --- src/main/java/com/ycwl/basic/Application.java | 3 --- .../com/ycwl/basic/config/MybatisPlusPageConfig.java | 10 ++++++++++ .../basic/order/service/impl/OrderServiceImpl.java | 8 ++++++++ .../basic/pricing/service/impl/VoucherServiceImpl.java | 2 ++ .../puzzle/service/impl/PuzzleGenerateServiceImpl.java | 5 +++++ 5 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/ycwl/basic/Application.java b/src/main/java/com/ycwl/basic/Application.java index 4b14d4f7..4d600b96 100644 --- a/src/main/java/com/ycwl/basic/Application.java +++ b/src/main/java/com/ycwl/basic/Application.java @@ -1,6 +1,5 @@ package com.ycwl.basic; -import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @@ -9,8 +8,6 @@ import org.springframework.cloud.openfeign.EnableFeignClients; @SpringBootApplication @EnableDiscoveryClient @EnableFeignClients -@MapperScan(basePackages = "com.ycwl.basic.mapper") -@MapperScan(basePackages = "com.ycwl.basic.*.mapper") public class Application { public static void main(String[] args) { diff --git a/src/main/java/com/ycwl/basic/config/MybatisPlusPageConfig.java b/src/main/java/com/ycwl/basic/config/MybatisPlusPageConfig.java index b4261194..8d48f66c 100644 --- a/src/main/java/com/ycwl/basic/config/MybatisPlusPageConfig.java +++ b/src/main/java/com/ycwl/basic/config/MybatisPlusPageConfig.java @@ -3,6 +3,7 @@ package com.ycwl.basic.config; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -11,6 +12,15 @@ import org.springframework.context.annotation.Configuration; * @date 2021年06月04日 9:42 */ @Configuration +@MapperScan(basePackages = { + "com.ycwl.basic.mapper", + "com.ycwl.basic.order.mapper", + "com.ycwl.basic.pricing.mapper", + "com.ycwl.basic.product.mapper", + "com.ycwl.basic.profitsharing.mapper", + "com.ycwl.basic.puzzle.mapper", + "com.ycwl.basic.stats.mapper" +}) public class MybatisPlusPageConfig { /* 旧版本配置 diff --git a/src/main/java/com/ycwl/basic/order/service/impl/OrderServiceImpl.java b/src/main/java/com/ycwl/basic/order/service/impl/OrderServiceImpl.java index 9e21ade4..3edff0f7 100644 --- a/src/main/java/com/ycwl/basic/order/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/ycwl/basic/order/service/impl/OrderServiceImpl.java @@ -47,6 +47,7 @@ import com.ycwl.basic.repository.FaceRepository; import com.ycwl.basic.service.pc.ScenicService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -70,13 +71,20 @@ public class OrderServiceImpl implements IOrderService { private final OrderItemMapper orderItemMapper; private final OrderDiscountMapper orderDiscountMapper; private final OrderRefundMapper orderRefundMapper; + @Lazy private final OrderEventManager orderEventManager; + @Lazy private final ScenicService scenicService; private final MemberMapper memberMapper; + @Lazy private final ICouponService couponService; + @Lazy private final IVoucherService voucherService; + @Lazy private final IProductConfigService productConfigService; + @Lazy private final IProductTypeCapabilityService productTypeCapabilityService; + @Lazy private final DuplicatePurchaseCheckerFactory duplicatePurchaseCheckerFactory; @Override diff --git a/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherServiceImpl.java b/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherServiceImpl.java index c83f7996..ba5fb1e1 100644 --- a/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherServiceImpl.java +++ b/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherServiceImpl.java @@ -18,6 +18,7 @@ import com.ycwl.basic.pricing.entity.PriceVoucherUsageRecord; import com.ycwl.basic.pricing.service.IVoucherService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; @@ -60,6 +61,7 @@ import java.util.stream.Collectors; */ @Slf4j @Service +@Lazy @RequiredArgsConstructor public class VoucherServiceImpl implements IVoucherService { diff --git a/src/main/java/com/ycwl/basic/puzzle/service/impl/PuzzleGenerateServiceImpl.java b/src/main/java/com/ycwl/basic/puzzle/service/impl/PuzzleGenerateServiceImpl.java index c1ca4227..4f06bb94 100644 --- a/src/main/java/com/ycwl/basic/puzzle/service/impl/PuzzleGenerateServiceImpl.java +++ b/src/main/java/com/ycwl/basic/puzzle/service/impl/PuzzleGenerateServiceImpl.java @@ -21,6 +21,7 @@ import com.ycwl.basic.storage.StorageFactory; import com.ycwl.basic.utils.WxMpUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import javax.imageio.ImageIO; @@ -51,9 +52,13 @@ public class PuzzleGenerateServiceImpl implements IPuzzleGenerateService { private final PuzzleTemplateMapper templateMapper; private final PuzzleElementMapper elementMapper; private final PuzzleGenerationRecordMapper recordMapper; + @Lazy private final PuzzleImageRenderer imageRenderer; + @Lazy private final PuzzleElementFillEngine fillEngine; + @Lazy private final ScenicRepository scenicRepository; + @Lazy private final PuzzleDuplicationDetector duplicationDetector; @Override