搭建自己的Spring Initializr服务器

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/51713174 搭建自己的Spring Initializr服务器作者:chszs,未经博主允许不得转载。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/51713174

搭建自己的Spring Initializr服务器

作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs

要开始一个基于Spring或SpringBoot的新项目,可以使用在线工具:https://start.spring.io/

使用它,可以很容易地创建基于Maven或Gradle的项目模板,并通过界面上的多选框定义项目所有所需的依赖。这个在线工具实际上是一个SpringBoot应用程序,可以在本地自己搭建一个这样的工具。这么做有很多优点:可以避免因为无法访问spring.io站点就无法新建SpringBoot项目的尴尬;可以限制依赖的数量;可以强制使用Gradle作为项目构建工具;可以设置默认的项目名、默认的包名等等。

要开始这么做的话,首先访问Spring Initializr项目的GitHub网站: https://github.com/spring-io/initializr

此项目的源码采用了Maven依赖,故本地需要有Maven环境。要运行这个项目,最简单的方法是使用Spring CLI工具,最方便的是使用SDKMAN工具,安装它: http://sdkman.io/index.html

然后执行:

$ sdk install springboot

接着创建一个新目录,进入目录,创建initializr.groovy文件:

package app
@Grab('io.spring.initalizr:initializr-web:1.0.0.BUILD-SNAPSHOT')
@Grab('spring-boot-starter-web')
class InitializerService {}

接下来,需要为Spring Initializr应用定义配置文件。可以复制application.yml文件来用,此文件在刚才的GitHub网站的initializr-service项目中,文件改名为initializr.groovy。该文件包含了大量的信息。配置文件的详细解释可以参考:
https://github.com/spring-io/initializr/wiki/Configuration-format

其实配置项是很直接的,意思一目了然。比如可以打开这个文件,从dependencies移除依赖,或设置groupId的默认值。如果想明确项目的构建工具只使用Gradle,那么可以在types节移除Maven的引用。当然,还需在languages节设置默认的语言为Groovy。

...
artifactId:
    value: sample
groupId:
    value: com.mrhaki
version:
    value: 1.0.0.DEVELOPMENT
name:
    value: Sample
description:
    value: Sample Project
packageName:
    value: com.mrhaki.demo
...
types:
    - name: Gradle Project
    id: gradle-project
    description: Generate a Gradle based project archive
    sts-id: gradle.zip
    tags:
        build: gradle
        format: project
    default: false
    action: /starter.zip
    - name: Gradle Config
    id: gradle-build
    description: Generate a Gradle build file
    sts-id: build.gradle
    tags:
        build: gradle
        format: build
    default: true
    action: /build.gradle
...
javaVersions:
    - id: 1.8
    default: true
languages:
    - name: Java
    id: java
    default: false
    - name: Groovy
    id: groovy
    default: true
...

现在可以启动Spring Initializr服务器了:

$ spring run initializr.groovy
...

还可以覆盖此应用的静态资源和模板。比如添加一个新的spring.css文件到static/css目录,并放一个home.html文件到templates目录。

下面的截图显示了一些自定义的样式:
这里写图片描述

还可以使用此服务从IntelliJ IDEA创建项目,当创建新项目并从列表框选择Spring Initializr时,可以添加Spring Initializr的服务器地址:
这里写图片描述
然后就而已看到项目的默认值:
这里写图片描述
最后可以选择依赖项:
这里写图片描述
一切都很方便,不是吗?

写在最后

我新建了一个微信个人公众号,博客的信息也会在公众号同步更新。关注随意。
这里写图片描述

目录
相关文章
|
3月前
|
安全 Java Spring
Spring Security OAuth 资源服务器认证浅析
【1月更文挑战第18天】之前的几篇文章介绍了如何进行用户认证并向客户端分发 Token,以及 Token 是如何生成的,这篇分析一下,当客户端拿着 Token 去访问资源的时候,资源服务器是如何验证 Token 是否合法的。
49 2
|
6月前
|
消息中间件 Cloud Native Java
解决Spring Boot 2.7.16 在服务器显示启动成功无法访问问题:从本地到服务器的部署坑
解决Spring Boot 2.7.16 在服务器显示启动成功无法访问问题:从本地到服务器的部署坑
235 0
|
5月前
|
Java Spring
使用Spring initializr快速创建一个springboot项目
Spring initializr快速创建一个springboot 改服务器端口号
352 0
使用Spring initializr快速创建一个springboot项目
|
5月前
|
缓存 安全 算法
Spring Security OAuth 2.0 资源服务器— JWT
Spring Security OAuth 2.0 资源服务器— JWT
220 1
|
2月前
|
前端开发 Java API
构建异步高并发服务器:Netty与Spring Boot的完美结合
构建异步高并发服务器:Netty与Spring Boot的完美结合
|
3月前
|
XML Java Maven
IntellJ IDEA利用spring initializr创建springboot项目
IntellJ IDEA利用spring initializr创建springboot项目
243 0
|
4月前
|
存储 Java 数据库连接
Spring Boot 嵌入式服务器、Hibernate 关系和 Spring Data 全解析
Spring Boot 的嵌入式服务器功能是一项方便而强大的功能,它允许你在应用程序中直接运行 Web 服务器,无需将其部署到单独的独立 Web 服务器中。这使得开发、测试和部署 Web 应用程序变得容易,而且它还是轻量级的、易于启动和停止的,易于配置。
64 0
|
7月前
|
Java 数据库 Spring
Spring Boot 生产环境出现问题,且问题莫明其妙 有可能是服务器的容量不足
今天系统莫明使用不了,同事跟我说昨天还好好的,今天突然就不行了。一想服务器没有动过,不会有什么问题呀!于是查看日志,查看数据库是都没有问题。心里非常不解,但是问题却一直存在。花了大概1小时,还是没有找到问题,最后看一眼服务器的容量,发现使用率为100%,顿时知道发生了什么事,将容量解放,重启服务问题就解决了。 像这种错误,如果没有检查服务器,估计到死都不知道是这样产生的。
43 0
|
8月前
|
监控 算法 Unix
在Linux服务器上通过日志筛选技巧定位Spring Boot项目问题
在项目开发和维护的过程中,我们经常需要在 Linux 服务器上查询和分析日志文件。为了高效地处理大量的文本数据,我们可以借助一些强大的文本过滤工具,如 tail -f、more、zmore 和 grep。本文将介绍这些常用的 Linux 命令,帮助您在日志分析中更加得心应手。
147 0
|
9月前
|
安全 JavaScript 小程序
Spring Cloud实战 | 第九篇:Spring Cloud整合Spring Security OAuth2认证服务器统一认证自定义异常处理
Spring Cloud实战 | 第九篇:Spring Cloud整合Spring Security OAuth2认证服务器统一认证自定义异常处理