mirror of
https://gitee.com/dcren/initializr.git
synced 2026-02-26 05:32:58 +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.
|
Finally, you can configure your IDE to point to another service instance.
|
||||||
|
|
||||||
== Configuration
|
== Configuration
|
||||||
The configuration in `application.yml` is very simple with a single `web` dependency that
|
There are two main customizations to the sample.
|
||||||
brings `spring-boot-starter-web`. You can experiment by adding more dependencies or other
|
|
||||||
elements that drive how projects are generated.
|
=== 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");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -16,9 +16,14 @@
|
|||||||
|
|
||||||
package sample.service;
|
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.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.boot.web.client.RestTemplateBuilder;
|
||||||
import org.springframework.cache.annotation.EnableCaching;
|
import org.springframework.cache.annotation.EnableCaching;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.scheduling.annotation.EnableAsync;
|
import org.springframework.scheduling.annotation.EnableAsync;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -35,4 +40,11 @@ public class ServiceApplication {
|
|||||||
SpringApplication.run(ServiceApplication.class, args);
|
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