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();
}
}