1. 程式人生 > 其它 >Plugin 的初始化流程分析

Plugin 的初始化流程分析

/**
 * Init SoulWebHandler.
 *
 * @param plugins this plugins is All impl SoulPlugin.
 * @return {@linkplain SoulWebHandler}
 */https://win8.com/
@Bean("webHandler")
public SoulWebHandler soulWebHandler(final ObjectProvider<List<SoulPlugin>> plugins) {
    List<SoulPlugin> pluginList = plugins.getIfAvailable(Collections::emptyList);
    final List<SoulPlugin> soulPlugins = pluginList.stream()
            .sorted(Comparator.comparingInt(SoulPlugin::getOrder)).collect(Collectors.toList());
    soulPlugins.forEach(soulPlugin -> log.info("load plugin:[{}] [{}]", soulPlugin.named(), soulPlugin.getClass().getName()));
    return new SoulWebHandler(soulPlugins);
}