栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

自定义spring-initializr的工作方式?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

自定义spring-initializr的工作方式?

有一个参考指南可引导您完成自己的实例的创建。关于您的主要问题:

是的,这在自定义实例中是可能的。实现

ProjectRequestPostProcessor
并将这两个依赖项添加到项目中。

@Componentclass PreselectedDependenciesRequestPostProcessor implements ProjectRequestPostProcessor {    private final InitializrmetadataProvider metadataProvider;    public PreselectedDependenciesRequestPostProcessor( InitializrmetadataProvider metadataProvider) {        this.metadataProvider = metadataProvider;    }    @Override    public void postProcessAfterResolution(ProjectRequest request, Initializrmetadata metadata) {        DependenciesCapability dependencies = metadataProvider.get().getDependencies();        if (!hasDependencies(request, "web")) { request.getResolvedDependencies().add(dependencies.get("web"));        }        if (!hasDependencies(request, "security")) { request.getResolvedDependencies().add(dependencies.get("security"));        }    }    private boolean hasDependencies(ProjectRequest request, String... dependenciesId) {        for (String id : dependenciesId) { if (getDependency(request, id) == null) {     return false; }        }        return true;    }    private Dependency getDependency(ProjectRequest request, String id) {        return request.getResolvedDependencies().stream()     .filter(d -> id.equals(d.getId())).findFirst().orElse(null);    }}

它们不会在用户界面中被选中,但是它们将被集成到项目中,就像用户选择它们一样。我之所以推荐这种方法,是因为IDE集成可以以与主实例(start.spring.io)相同的方式来定位您的自定义实例。破解Web
UI只会使该特定的客户端(IMO)有问题。

对于第二个问题,大多数fork都会从中扩展

ProjectGenerator
并执行所需的任何操作(包括覆盖gradle构建)。检查该类以获取更多详细信息。

Spring Initializr尚未达到1.0,因此尚未处于合同足够成熟的状态。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/568730.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号