mirror of
https://gitee.com/dcren/initializr.git
synced 2025-10-15 18:55:11 +08:00
Make sure that Spring Boot versions are available
Closes gh-1214
This commit is contained in:
@@ -43,8 +43,24 @@ If you have the `spring` CLI installed, you can also use it as follows:
|
||||
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.
|
||||
There are two main customizations to the sample.
|
||||
|
||||
=== Metadata Update Strategy
|
||||
First, `ServiceApplication` has a dedicated strategy to update the metadata with the available Spring Boot versions from Sagan (`spring.io`).
|
||||
When you issue your first request, you should see something like the following:
|
||||
|
||||
[indent=0]
|
||||
----
|
||||
Fetching Spring Boot metadata from https://spring.io/project_metadata/spring-boot
|
||||
----
|
||||
|
||||
On further request, you won't see this log entry as the content is cached.
|
||||
There are no expiration set, so the available versions won't change until you restart the service.
|
||||
|
||||
=== Basic Metadata
|
||||
The configuration in `application.yml` is very simple with a single `web` dependency that brings `spring-boot-starter-web`.
|
||||
The default `groupId` for generated projects has been customized to `org.acme`.
|
||||
|
||||
You can experiment by adding more dependencies or other elements that drive how projects are generated.
|
||||
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
* Copyright 2012-2021 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.
|
||||
@@ -16,9 +16,14 @@
|
||||
|
||||
package sample.service;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import io.spring.initializr.web.support.SaganInitializrMetadataUpdateStrategy;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.web.client.RestTemplateBuilder;
|
||||
import org.springframework.cache.annotation.EnableCaching;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.scheduling.annotation.EnableAsync;
|
||||
|
||||
/**
|
||||
@@ -35,4 +40,11 @@ public class ServiceApplication {
|
||||
SpringApplication.run(ServiceApplication.class, args);
|
||||
}
|
||||
|
||||
// This bean opt-in for fetching available Spring Boot versions from Sagan (spring.io)
|
||||
@Bean
|
||||
SaganInitializrMetadataUpdateStrategy saganInitializrMetadataUpdateStrategy(RestTemplateBuilder restTemplateBuilder,
|
||||
ObjectMapper objectMapper) {
|
||||
return new SaganInitializrMetadataUpdateStrategy(restTemplateBuilder.build(), objectMapper);
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user