Commit 8c220d6c authored by Andy Wilkinson's avatar Andy Wilkinson

Merge pull request #25400 from cprayer

* gh-25400:
  Polish "Add Bootstrapper initialize method to fix typo"
  Add Bootstrapper initialize method to fix typo

Closes gh-25400
parents ddf75f09 f9ef05f7
......@@ -31,6 +31,17 @@ public interface Bootstrapper {
* Initialize the given {@link BootstrapRegistry} with any required registrations.
* @param registry the registry to initialize
*/
default void initialize(BootstrapRegistry registry) {
intitialize(registry);
}
/**
* Initialize the given {@link BootstrapRegistry} with any required registrations.
* @param registry the registry to initialize
* @deprecated since 2.4.4 in favor of
* {@link Bootstrapper#initialize(BootstrapRegistry)}
*/
@Deprecated
void intitialize(BootstrapRegistry registry);
}
......@@ -349,7 +349,7 @@ public class SpringApplication {
private DefaultBootstrapContext createBootstrapContext() {
DefaultBootstrapContext bootstrapContext = new DefaultBootstrapContext();
this.bootstrappers.forEach((initializer) -> initializer.intitialize(bootstrapContext));
this.bootstrappers.forEach((initializer) -> initializer.initialize(bootstrapContext));
return bootstrapContext;
}
......
......@@ -1247,6 +1247,29 @@ class SpringApplicationTests {
assertThat(applicationContext.getBean("test")).isEqualTo("boot");
}
@Test
void whenABootstrapperImplementsOnlyTheOldMethodThenItIsCalled() {
SpringApplication application = new SpringApplication(ExampleConfig.class);
application.setWebApplicationType(WebApplicationType.NONE);
OnlyOldMethodTestBootstrapper bootstrapper = new OnlyOldMethodTestBootstrapper();
application.addBootstrapper(bootstrapper);
try (ConfigurableApplicationContext applicationContext = application.run()) {
assertThat(bootstrapper.intitialized).isTrue();
}
}
@Test
void whenABootstrapperImplementsTheOldMethodAndTheNewMethodThenOnlyTheNewMethodIsCalled() {
SpringApplication application = new SpringApplication(ExampleConfig.class);
application.setWebApplicationType(WebApplicationType.NONE);
BothMethodsTestBootstrapper bootstrapper = new BothMethodsTestBootstrapper();
application.addBootstrapper(bootstrapper);
try (ConfigurableApplicationContext applicationContext = application.run()) {
assertThat(bootstrapper.intitialized).isFalse();
assertThat(bootstrapper.initialized).isTrue();
}
}
private <S extends AvailabilityState> ArgumentMatcher<ApplicationEvent> isAvailabilityChangeEventWithState(
S state) {
return (argument) -> (argument instanceof AvailabilityChangeEvent<?>)
......@@ -1720,4 +1743,35 @@ class SpringApplicationTests {
}
static class OnlyOldMethodTestBootstrapper implements Bootstrapper {
private boolean intitialized;
@Override
@SuppressWarnings("deprecation")
public void intitialize(BootstrapRegistry registry) {
this.intitialized = true;
}
}
static class BothMethodsTestBootstrapper implements Bootstrapper {
private boolean intitialized;
private boolean initialized;
@Override
@SuppressWarnings("deprecation")
public void intitialize(BootstrapRegistry registry) {
this.intitialized = true;
}
@Override
public void initialize(BootstrapRegistry registry) {
this.initialized = true;
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment