diff --git a/spring-boot-starters/wx-java-mp-spring-boot-starter/pom.xml b/spring-boot-starters/wx-java-mp-spring-boot-starter/pom.xml index 296c67c1..da66b5e7 100644 --- a/spring-boot-starters/wx-java-mp-spring-boot-starter/pom.xml +++ b/spring-boot-starters/wx-java-mp-spring-boot-starter/pom.xml @@ -38,6 +38,7 @@ redis.clients jedis + compile org.projectlombok diff --git a/spring-boot-starters/wx-java-mp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/config/WxMpServiceAutoConfiguration.java b/spring-boot-starters/wx-java-mp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/config/WxMpServiceAutoConfiguration.java index c39402ac..7d962267 100644 --- a/spring-boot-starters/wx-java-mp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/config/WxMpServiceAutoConfiguration.java +++ b/spring-boot-starters/wx-java-mp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/config/WxMpServiceAutoConfiguration.java @@ -1,13 +1,9 @@ package com.binarywang.spring.starter.wxjava.mp.config; -import me.chanjar.weixin.mp.config.WxMpConfigStorage; -import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.api.*; import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; -import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; +import me.chanjar.weixin.mp.config.WxMpConfigStorage; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -18,38 +14,118 @@ import org.springframework.context.annotation.Configuration; */ @Configuration public class WxMpServiceAutoConfiguration { - @Autowired - private ApplicationContext ctx; @Bean @ConditionalOnMissingBean public WxMpService wxMpService(WxMpConfigStorage configStorage) { WxMpService wxMpService = new WxMpServiceImpl(); wxMpService.setWxMpConfigStorage(configStorage); - registerWxMpSubService(wxMpService); return wxMpService; } - @ConditionalOnBean(WxMpService.class) - public Object registerWxMpSubService(WxMpService wxMpService) { - ConfigurableListableBeanFactory factory = (ConfigurableListableBeanFactory) ctx.getAutowireCapableBeanFactory(); - factory.registerSingleton("wxMpKefuService", wxMpService.getKefuService()); - factory.registerSingleton("wxMpMaterialService", wxMpService.getMaterialService()); - factory.registerSingleton("wxMpMenuService", wxMpService.getMenuService()); - factory.registerSingleton("wxMpUserService", wxMpService.getUserService()); - factory.registerSingleton("wxMpUserTagService", wxMpService.getUserTagService()); - factory.registerSingleton("wxMpQrcodeService", wxMpService.getQrcodeService()); - factory.registerSingleton("wxMpCardService", wxMpService.getCardService()); - factory.registerSingleton("wxMpDataCubeService", wxMpService.getDataCubeService()); - factory.registerSingleton("wxMpUserBlacklistService", wxMpService.getBlackListService()); - factory.registerSingleton("wxMpStoreService", wxMpService.getStoreService()); - factory.registerSingleton("wxMpTemplateMsgService", wxMpService.getTemplateMsgService()); - factory.registerSingleton("wxMpSubscribeMsgService", wxMpService.getSubscribeMsgService()); - factory.registerSingleton("wxMpDeviceService", wxMpService.getDeviceService()); - factory.registerSingleton("wxMpShakeService", wxMpService.getShakeService()); - factory.registerSingleton("wxMpMemberCardService", wxMpService.getMemberCardService()); - factory.registerSingleton("wxMpMassMessageService", wxMpService.getMassMessageService()); - return Boolean.TRUE; + @Bean + public WxMpKefuService wxMpKefuService(WxMpService wxMpService) { + return wxMpService.getKefuService(); + } + + @Bean + public WxMpMaterialService wxMpMaterialService(WxMpService wxMpService) { + return wxMpService.getMaterialService(); + } + + @Bean + public WxMpMenuService wxMpMenuService(WxMpService wxMpService) { + return wxMpService.getMenuService(); + } + + @Bean + public WxMpUserService wxMpUserService(WxMpService wxMpService) { + return wxMpService.getUserService(); + } + + @Bean + public WxMpUserTagService wxMpUserTagService(WxMpService wxMpService) { + return wxMpService.getUserTagService(); + } + + @Bean + public WxMpQrcodeService wxMpQrcodeService(WxMpService wxMpService) { + return wxMpService.getQrcodeService(); + } + + @Bean + public WxMpCardService wxMpCardService(WxMpService wxMpService) { + return wxMpService.getCardService(); + } + + @Bean + public WxMpDataCubeService wxMpDataCubeService(WxMpService wxMpService) { + return wxMpService.getDataCubeService(); + } + + @Bean + public WxMpUserBlacklistService wxMpUserBlacklistService(WxMpService wxMpService) { + return wxMpService.getBlackListService(); + } + + @Bean + public WxMpStoreService wxMpStoreService(WxMpService wxMpService) { + return wxMpService.getStoreService(); + } + + @Bean + public WxMpTemplateMsgService wxMpTemplateMsgService(WxMpService wxMpService) { + return wxMpService.getTemplateMsgService(); + } + + @Bean + public WxMpSubscribeMsgService wxMpSubscribeMsgService(WxMpService wxMpService) { + return wxMpService.getSubscribeMsgService(); + } + + @Bean + public WxMpDeviceService wxMpDeviceService(WxMpService wxMpService) { + return wxMpService.getDeviceService(); + } + + @Bean + public WxMpShakeService wxMpShakeService(WxMpService wxMpService) { + return wxMpService.getShakeService(); + } + + @Bean + public WxMpMemberCardService wxMpMemberCardService(WxMpService wxMpService) { + return wxMpService.getMemberCardService(); + } + + @Bean + public WxMpMassMessageService wxMpMassMessageService(WxMpService wxMpService) { + return wxMpService.getMassMessageService(); + } + + @Bean + public WxMpAiOpenService wxMpAiOpenService(WxMpService wxMpService) { + return wxMpService.getAiOpenService(); + } + + @Bean + public WxMpWifiService wxMpWifiService(WxMpService wxMpService) { + return wxMpService.getWifiService(); + } + + @Bean + public WxMpMarketingService wxMpMarketingService(WxMpService wxMpService) { + return wxMpService.getMarketingService(); + } + + @Bean + public WxMpCommentService wxMpCommentService(WxMpService wxMpService) { + return wxMpService.getCommentService(); + } + + @Bean + public WxMpOcrService wxMpOcrService(WxMpService wxMpService) { + return wxMpService.getOcrService(); } }