mirror of
https://gitee.com/dromara/sms4j.git
synced 2025-12-06 17:08:40 +08:00
sms4j-solon-plugin: 优化 SupplierConfig 处理
This commit is contained in:
parent
a5f7ba37a4
commit
525166c102
@ -9,6 +9,7 @@ import org.noear.solon.annotation.Configuration;
|
||||
import org.noear.solon.annotation.Inject;
|
||||
import org.noear.solon.core.AppContext;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -16,7 +17,7 @@ import java.util.Map;
|
||||
/**
|
||||
* smsConfig参数意义为确保注入时smsConfig已经存在
|
||||
*/
|
||||
@Condition(onProperty = "${sms.configType}=config_file")
|
||||
@Condition(onProperty = "${sms.configType}=yaml")
|
||||
@Configuration
|
||||
public class SupplierConfig {
|
||||
@Inject
|
||||
@ -27,16 +28,25 @@ public class SupplierConfig {
|
||||
context.cfg().getProp(prefix).bindTo(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
@Bean
|
||||
protected Map<String, Map<String, Object>> blends(){
|
||||
return injectObj("sms.blends",new LinkedHashMap<>());
|
||||
protected Map<String, Map<String, Object>> blends() {
|
||||
return injectObj("sms.blends", new LinkedHashMap<>());
|
||||
}
|
||||
|
||||
|
||||
@Bean
|
||||
protected SmsBlendsInitializer smsBlendsInitializer(List<BaseProviderFactory<? extends SmsBlend, ? extends org.dromara.sms4j.api.universal.SupplierConfig>> factoryList,
|
||||
protected SmsBlendsInitializer smsBlendsInitializer(List<BaseProviderFactory> factoryList,
|
||||
SmsConfig smsConfig,
|
||||
Map<String, Map<String, Object>> blends){
|
||||
return new SmsBlendsInitializer(factoryList,smsConfig,blends,context);
|
||||
Map<String, Map<String, Object>> blends) {
|
||||
|
||||
//todo: solon 不支持泛型的 List[Bean] 注入
|
||||
List<BaseProviderFactory<? extends SmsBlend, ? extends org.dromara.sms4j.api.universal.SupplierConfig>> factoryList2 = new ArrayList<>(factoryList.size());
|
||||
for (BaseProviderFactory factory : factoryList) {
|
||||
factoryList2.add((BaseProviderFactory<? extends SmsBlend, ? extends org.dromara.sms4j.api.universal.SupplierConfig>) factory);
|
||||
}
|
||||
|
||||
|
||||
return new SmsBlendsInitializer(factoryList2, smsConfig, blends, context);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user