Add service sample

Closes gh-844
This commit is contained in:
Stephane Nicoll
2019-03-20 14:11:46 +01:00
parent 18dbc4dada
commit 3b40cd824e
7 changed files with 192 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
= Service sample
:docs: http://docs.spring.io/initializr/docs/current-SNAPSHOT/reference/html
This sample demonstrates how you can create your own service easily as described in the
{docs}/#create-instance[reference documentation].
== Running the service
You can start the service from the command line:
[indent=0]
----
$ ./mvnw spring-boot:run
----
Or, better yet, run the `ServiceApplication` main method from your favourite IDE.
== Generating a project
If you go to `localhost:8080` with your browser, you'll get a json document that describes
the capabilities of the service. There are several ways you can generate a project.
If you have `HTTPie` installed, try the following:
[indent=0]
----
$ http :8080
----
If you prefer to use `cURL`, try this instead:
[indent=0]
----
$ curl localhost:8080
----
If you have the `spring` CLI installed, you can also use it as follows:
[indent=0]
----
$ spring init --target http://localhost:8080 --list
----
Finally, you can configure your IDE to point to another service instance.
== Configuration
The configuration in `application.yml` is very simple with a single `web` dependency that
brings `spring-boot-starter-web`. You can experiment by adding more dependencies or other
elements that drive how projects are generated.

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.spring.initializr</groupId>
<artifactId>initializr</artifactId>
<version>${revision}</version>
</parent>
<artifactId>initializr-service-sample</artifactId>
<name>Spring Initializr :: Service (Sample)</name>
<properties>
<main.basedir>${basedir}/..</main.basedir>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>io.spring.initializr</groupId>
<artifactId>initializr-web</artifactId>
</dependency>
<dependency>
<groupId>io.spring.initializr</groupId>
<artifactId>initializr-generator-spring</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,38 @@
/*
* Copyright 2012-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package sample.service;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.scheduling.annotation.EnableAsync;
/**
* Sample service application.
*
* @author Stephane Nicoll
*/
@SpringBootApplication
@EnableCaching
@EnableAsync
public class ServiceApplication {
public static void main(String[] args) {
SpringApplication.run(ServiceApplication.class, args);
}
}

View File

@@ -0,0 +1,49 @@
initializr:
dependencies:
- name: Web
content:
- name: Web
id: web
description: Servlet web application with Spring MVC and Tomcat
types:
- name: Maven Project
id: maven-project
description: Generate a Maven based project archive
tags:
build: maven
format: project
default: true
action: /starter.zip
- name: Gradle Project
id: gradle-project
description: Generate a Gradle based project archive
tags:
build: gradle
format: project
default: false
action: /starter.zip
packagings:
- name: Jar
id: jar
default: true
- name: War
id: war
default: false
javaVersions:
- id: 11
default: false
- id: 1.8
name: 8
default: true
languages:
- name: Java
id: java
default: true
- name: Kotlin
id: kotlin
default: false
- name: Groovy
id: groovy
default: false
group-id:
value: org.acme