package com.yupi.springbootinit.config; import lombok.Data; import lombok.extern.slf4j.Slf4j; import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl; import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; /** * 微信开放平台配置 * * @author 程序员鱼皮 * @from 编程导航知识星球 */ @Slf4j @Configuration @ConfigurationProperties(prefix = "wx.open") @Data public class WxOpenConfig { private String appId; private String appSecret; private WxMpService wxMpService; /** * 单例模式(不用 @Bean 是为了防止和公众号的 service 冲突) * * @return */ public WxMpService getWxMpService() { if (wxMpService != null) { return wxMpService; } synchronized (this) { if (wxMpService != null) { return wxMpService; } WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl(); config.setAppId(appId); config.setSecret(appSecret); WxMpService service = new WxMpServiceImpl(); service.setWxMpConfigStorage(config); wxMpService = service; return wxMpService; } } }