WxMpConfiguration.java 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package com.example.config;
  2. import lombok.extern.slf4j.Slf4j;
  3. import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
  4. import me.chanjar.weixin.mp.api.WxMpService;
  5. import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
  6. import org.apache.commons.lang3.StringUtils;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
  9. import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
  10. import org.springframework.boot.context.properties.EnableConfigurationProperties;
  11. import org.springframework.context.annotation.Bean;
  12. import org.springframework.context.annotation.Configuration;
  13. @Slf4j
  14. @Configuration
  15. @ConditionalOnClass(WxMpService.class)
  16. @EnableConfigurationProperties(WxMpProperties.class)
  17. public class WxMpConfiguration {
  18. private WxMpProperties properties;
  19. @Autowired
  20. public WxMpConfiguration(WxMpProperties properties) {
  21. this.properties = properties;
  22. }
  23. @Bean
  24. @ConditionalOnMissingBean
  25. public WxMpService wxMpService() {
  26. WxMpInMemoryConfigStorage configStorage = new WxMpInMemoryConfigStorage();
  27. configStorage.setAppId(StringUtils.trimToNull(this.properties.getAppId()));
  28. configStorage.setSecret(StringUtils.trimToNull(this.properties.getSecret()));
  29. configStorage.setToken(StringUtils.trimToNull(this.properties.getToken()));
  30. configStorage.setAesKey(StringUtils.trimToNull(this.properties.getAesKey()));
  31. WxMpService wxMpService = new WxMpServiceImpl();
  32. wxMpService.setWxMpConfigStorage(configStorage);
  33. return wxMpService;
  34. }
  35. }