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.annotation.Inject;
|
||||||
import org.noear.solon.core.AppContext;
|
import org.noear.solon.core.AppContext;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -16,7 +17,7 @@ import java.util.Map;
|
|||||||
/**
|
/**
|
||||||
* smsConfig参数意义为确保注入时smsConfig已经存在
|
* smsConfig参数意义为确保注入时smsConfig已经存在
|
||||||
*/
|
*/
|
||||||
@Condition(onProperty = "${sms.configType}=config_file")
|
@Condition(onProperty = "${sms.configType}=yaml")
|
||||||
@Configuration
|
@Configuration
|
||||||
public class SupplierConfig {
|
public class SupplierConfig {
|
||||||
@Inject
|
@Inject
|
||||||
@ -27,16 +28,25 @@ public class SupplierConfig {
|
|||||||
context.cfg().getProp(prefix).bindTo(obj);
|
context.cfg().getProp(prefix).bindTo(obj);
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
protected Map<String, Map<String, Object>> blends(){
|
protected Map<String, Map<String, Object>> blends() {
|
||||||
return injectObj("sms.blends",new LinkedHashMap<>());
|
return injectObj("sms.blends", new LinkedHashMap<>());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
protected SmsBlendsInitializer smsBlendsInitializer(List<BaseProviderFactory<? extends SmsBlend, ? extends org.dromara.sms4j.api.universal.SupplierConfig>> factoryList,
|
protected SmsBlendsInitializer smsBlendsInitializer(List<BaseProviderFactory> factoryList,
|
||||||
SmsConfig smsConfig,
|
SmsConfig smsConfig,
|
||||||
Map<String, Map<String, Object>> blends){
|
Map<String, Map<String, Object>> blends) {
|
||||||
return new SmsBlendsInitializer(factoryList,smsConfig,blends,context);
|
|
||||||
|
//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