跳至主要內容

🔌使用接口类配置

wind大约 2 分钟

sms4j自 3.0.0版本起,放弃之前的jdbc配置和自定义配置,统一融合为接口类配置,用户可以通过实现指定接口完成配置
接口只关注数据结果,不关注数据来源,此种方式有更高的自由度

@Component
public class ReadConfig implements SmsReadConfig {

    //这里的configId指的是框架在调用该接口方法时候会传递进来的参数,用户可以根据此参数作为标准来动态的进行查询
    @Override
    public BaseConfig getSupplierConfig(String configId) {
    UniConfig uniConfig = new UniConfig();
    //此处仅为示例,实际环境中,数据可以来自任意位置,
    return uniConfig;
    }

     @Override
     public List<BaseConfig> getSupplierConfigList() {
        //此处仅为示例,实际环境中,数据可以来自任意位置,
        return null;
    }
}
    
@Component
public class Demo {
    @Autowired
    ReadConfig config;
    
        //此处不一定使用这种方式进行初始化,只要保证在获取相应的configId对应的实例前执行一次SmsFactory.createSmsBlend完成创建实例即可
        @EventListener
        public void init(ContextRefreshedEvent event){.
            // 创建SmsBlend 短信实例
            SmsFactory.createSmsBlend(config,"在配置中定义的configId");
        }
}