Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save humbertodias/3ddf5ec4b7ce27e733e4edd88a260caf to your computer and use it in GitHub Desktop.
Save humbertodias/3ddf5ec4b7ce27e733e4edd88a260caf to your computer and use it in GitHub Desktop.
curl start.spring.io
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Initializr :: https://start.spring.io
This service generates quickstart projects that can be easily customized.
Possible customizations include a project's dependencies, Java version, and
build system or build structure. See below for further details.
The services uses a HAL based hypermedia format to expose a set of resources
to interact with. If you access this root resource requesting application/json
as media type the response will contain the following links:
+-----------------+-----------------------------------------+
| Rel | Description |
+-----------------+-----------------------------------------+
| gradle-build | Generate a Gradle build file |
| gradle-project | Generate a Gradle based project archive |
| maven-build | Generate a Maven pom.xml |
| maven-project * | Generate a Maven based project archive |
+-----------------+-----------------------------------------+
The URI templates take a set of parameters to customize the result of a request
to the linked resource.
+-----------------+------------------------------------------+------------------------------+
| Parameter | Description | Default value |
+-----------------+------------------------------------------+------------------------------+
| applicationName | application name | DemoApplication |
| artifactId | project coordinates (infer archive name) | demo |
| baseDir | base directory to create in the archive | no base dir |
| bootVersion | spring boot version | 1.3.2.RELEASE |
| dependencies | dependency identifiers (comma-separated) | none |
| description | project description | Demo project for Spring Boot |
| groupId | project coordinates | com.example |
| javaVersion | language level | 1.8 |
| language | programming language | java |
| name | project name (infer application name) | demo |
| packageName | root package | com.example |
| packaging | project packaging | jar |
| type | project type | maven-project |
| version | project version | 0.0.1-SNAPSHOT |
+-----------------+------------------------------------------+------------------------------+
The following section has a list of supported identifiers for the comma-separated
list of "dependencies".
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+
| Id | Description | Required version |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+
| activiti-basic | Activiti BPMN workflow engine | |
| actuator | Production ready features to help you monitor and manage your application | |
| actuator-docs | API documentation for the Actuator endpoints | >= 1.3.0.M4 |
| amqp | Advanced Message Queuing Protocol via spring-rabbit | |
| aop | Aspect-oriented programming including spring-aop and AspectJ | |
| artemis | Java Message Service API via Apache Artemis | >= 1.3.0.M2 |
| batch | Spring Batch including HSQLDB database | |
| cache | Spring's Cache abstraction | >= 1.3.0.M1 |
| cloud-aws | AWS native services from spring-cloud-aws | >= 1.2.3.RELEASE |
| cloud-aws-jdbc | Relational databases on AWS with RDS and spring-cloud-aws-jdbc | >= 1.2.3.RELEASE |
| cloud-aws-messaging | Messaging on AWS with SQS and spring-cloud-aws-messaging | >= 1.2.3.RELEASE |
| cloud-bus-amqp | A simple control bus with AMQP and spring-cloud-bus-amqp | >= 1.2.3.RELEASE |
| cloud-bus-kafka | A simple control bus with Kafka and spring-cloud-bus | (1.3.0.M5,9999.9.9.RELEASE] |
| cloud-bus-redis | A simple control bus with Redis and spring-cloud-bus | (1.3.0.M5,9999.9.9.RELEASE] |
| cloud-cloudfoundry-discovery | Service discovery with Cloud Foundry | >= 1.3.0.M4 |
| cloud-cluster-hazelcast | Leadership election and global state with Hazelcast and spring-cloud-cluster-hazelcast | >= 1.3.0.M4 |
| cloud-cluster-redis | Leadership election and global state with Redis and spring-cloud-cluster-redis | >= 1.3.0.M4 |
| cloud-cluster-zookeeper | Leadership election and global state with Zookeeper and spring-cloud-cluster-zookeeper | >= 1.3.0.M4 |
| cloud-config-client | spring-cloud-config Client | >= 1.2.3.RELEASE |
| cloud-config-server | Central management for configuration via a git or svn backend | >= 1.2.3.RELEASE |
| cloud-connectors | Simplifies connecting to services in cloud platforms, including spring-cloud-connector and spring-cloud-cloudfoundry-connector | >= 1.2.0.RELEASE |
| cloud-dataflow-server-local | Local Data Flow Server implementation | >= 1.3.2.RELEASE |
| cloud-eureka | Service discovery using spring-cloud-netflix and Eureka | >= 1.2.3.RELEASE |
| cloud-eureka-server | spring-cloud-netflix Eureka Server | >= 1.2.3.RELEASE |
| cloud-feign | Declarative REST clients with spring-cloud-netflix Feign | >= 1.2.3.RELEASE |
| cloud-hystrix | Circuit breaker with spring-cloud-netflix Hystrix | >= 1.2.3.RELEASE |
| cloud-hystrix-dashboard | Circuit breaker dashboard with spring-cloud-netflix Hystrix | >= 1.2.3.RELEASE |
| cloud-oauth2 | OAuth2 and distributed application patterns with spring-cloud-security | >= 1.2.3.RELEASE |
| cloud-ribbon | Client side load balancing with spring-cloud-netflix and Ribbon | >= 1.2.3.RELEASE |
| cloud-security | Secure load balancing and routing with spring-cloud-security | >= 1.2.3.RELEASE |
| cloud-sleuth-stream | Marshals Spring Cloud Sleuth Spans over a Spring Cloud Stream binder | >= 1.3.0.M4 |
| cloud-sleuth-zipkin-stream | Consumes messages from Spring Cloud Sleuth Stream delivered over a Spring Cloud Stream binder and writes them to a Zipkin store | >= 1.3.0.M4 |
| cloud-starter | spring-cloud-context (e.g. Bootstrap context and @RefreshScope) | >= 1.2.3.RELEASE |
| cloud-starter-consul-config | Configuration management with Hashicorp Consul | >= 1.3.0.M4 |
| cloud-starter-consul-discovery | Service discovery with Hashicorp Consul | >= 1.3.0.M4 |
| cloud-starter-sleuth | Distributed tracing via logs with spring-cloud-sleuth | >= 1.3.0.M4 |
| cloud-starter-zipkin | Distributed tracing with an existing Zipkin installation and spring-cloud-sleuth-zipkin. Alternatively, consider Zipkin Stream and Sleuth Stream. | >= 1.3.0.M4 |
| cloud-starter-zookeeper-config | Configuration management with Zookeeper and spring-cloud-zookeeper-config | >= 1.3.0.M4 |
| cloud-starter-zookeeper-discovery | Service discovery with Zookeeper and spring-cloud-zookeeper-discovery | >= 1.3.0.M4 |
| cloud-stream-binder-kafka | Messaging microservices with Kafka | >= 1.3.0.M4 |
| cloud-stream-binder-rabbit | Messaging microservices with RabbitMQ | >= 1.3.0.M4 |
| cloud-stream-binder-redis | Messaging microservices with Redis | >= 1.3.0.M4 |
| cloud-turbine | Circuit breaker metric aggregation using spring-cloud-netflix with Turbine and server-sent events | >= 1.2.3.RELEASE |
| cloud-turbine-amqp | Circuit breaker metric aggregation using spring-cloud-netflix with Turbine and AMQP | [0.0.0.RELEASE,1.3.0.M5] |
| cloud-turbine-stream | Circuit breaker metric aggregation using spring-cloud-netflix with Turbine and Spring Cloud Stream (choose a specific Stream binder implementation to complement this) | (1.3.0.M5,999.9.9.RELEASE] |
| cloud-zuul | Intelligent and programmable routing with spring-cloud-netflix Zuul | >= 1.2.3.RELEASE |
| data-cassandra | Cassandra NoSQL Database, including spring-data-cassandra | >= 1.3.0.RC1 |
| data-couchbase | Couchbase NoSQL database, including spring-data-couchbase | >= 1.4.0.M1 |
| data-elasticsearch | Elasticsearch search and analytics engine including spring-data-elasticsearch | |
| data-gemfire | GemFire distributed data store including spring-data-gemfire | |
| data-jpa | Java Persistence API including spring-data-jpa, spring-orm and Hibernate | |
| data-jpa | Java Persistence API including spring-data-jpa, spring-orm and Hibernate | |
| data-mongodb | MongoDB NoSQL Database, including spring-data-mongodb | |
| data-redis | REDIS key-value data store, including spring-redis | >= 1.4.0.M1 |
| data-rest | Exposing Spring Data repositories over REST via spring-data-rest-webmvc | |
| data-rest-hal | Browsing Spring Data REST repositories with an HTML UI | >= 1.3.0.M1 |
| data-solr | Apache Solr search platform, including spring-data-solr | |
| derby | Apache Derby database (with embedded support) | >= 1.2.2.RELEASE |
| devtools | Spring Boot Development Tools | >= 1.3.0.M1 |
| freemarker | FreeMarker templating engine | |
| groovy-templates | Groovy templating engine | |
| h2 | H2 database (with embedded support) | |
| hateoas | HATEOAS-based RESTful services | >= 1.2.2.RELEASE |
| hornetq | Java Message Service API via HornetQ | |
| hsql | HSQLDB database (with embedded support) | |
| integration | Common spring-integration modules | |
| jdbc | JDBC databases | |
| jersey | the Jersey RESTful Web Services framework | >= 1.2.0.RELEASE |
| jooq | Persistence support using Java Object Oriented Querying | >= 1.3.0.M2 |
| jta-atomikos | JTA distributed transactions via Atomikos | >= 1.2.0.M1 |
| jta-bitronix | JTA distributed transactions via Bitronix | >= 1.2.0.M1 |
| lombok | Java annotation library which help to reduce boilerplate code and code faster | |
| mail | javax.mail | >= 1.2.0.RC1 |
| mobile | Simplify the development of mobile web applications with spring-mobile | |
| mustache | Mustache templating engine | >= 1.2.2.RELEASE |
| mysql | MySQL jdbc driver | |
| postgresql | PostgreSQL jdbc driver | |
| ratpack | Spring Boot integration for the Ratpack framework | >= 1.2.0.RELEASE |
| redis | REDIS key-value data store, including spring-redis | [1.1.5.RELEASE,1.4.0.M1) |
| remote-shell | CRaSH shell integration | |
| restdocs | Document RESTful services by combining hand-written and auto-generated documentation | |
| retry | Provide declarative retry support via spring-retry | >= 1.3.0.M2 |
| security | Secure your application via spring-security | |
| session | API and implementations for managing a user’s session information | >= 1.3.0.M2 |
| social-facebook | spring-social-facebook | |
| social-linkedin | spring-social-linkedin | |
| social-twitter | spring-social-twitter | |
| thymeleaf | Thymeleaf templating engine, including integration with Spring | |
| vaadin | Vaadin | |
| validation | JSR-303 validation infrastructure (already included with web) | >= 1.3.0.M1 |
| velocity | Velocity templating engine | |
| web | Full-stack web development with Tomcat and Spring MVC | |
| websocket | Websocket development with SockJS and STOMP | |
| ws | Contract-first SOAP service development with Spring Web Services | |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+
Examples:
To create a default demo.zip:
$ curl https://start.spring.io/starter.zip -o demo.zip
To create a web project using Java 7:
$ curl https://start.spring.io/starter.zip -d dependencies=web \
-d javaVersion=1.7 -o demo.zip
To create a web/data-jpa gradle project unpacked:
$ curl https://start.spring.io/starter.tgz -d dependencies=web,data-jpa \
-d type=gradle-project -d baseDir=my-dir | tar -xzvf -
To generate a Maven POM with war packaging:
$ curl https://start.spring.io/pom.xml -d packaging=war -o pom.xml
To generate a Gradle project with jar packaging:
curl https://start.spring.io/starter.zip \
-d dependencies=web,devtools \
-d bootVersion=2.6.2.RELEASE \
-d packaging=jar \
-d javaVersion=11 \
-d language=java \
-d type=gradle-project \
-o my-project.zip
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment