Merge branch '2.0.x' into 2.1.x

This commit is contained in:
Andy Wilkinson 2019-03-11 16:00:22 +00:00
commit 8c3cec8f13
26 changed files with 78 additions and 25 deletions

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -28,6 +28,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandi
import org.springframework.boot.autoconfigure.condition.NoneNestedConditions;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
/**
@ -35,6 +36,7 @@ import org.springframework.context.annotation.Primary;
*
* @author Andy Wilkinson
*/
@Configuration
@Conditional(MultipleNonPrimaryMeterRegistriesCondition.class)
class CompositeMeterRegistryConfiguration {

View File

@ -23,12 +23,14 @@ import org.springframework.boot.autoconfigure.jersey.ResourceConfigCustomizer;
import org.springframework.boot.autoconfigure.web.servlet.JerseyApplicationPath;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* Shared configuration for Jersey-based actuators regardless of management context type.
*
* @author Madhura Bhave
*/
@Configuration
class JerseyManagementContextConfiguration {
@Bean

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -45,6 +45,7 @@ import org.springframework.boot.test.context.runner.ApplicationContextRunner;
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
import org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
import static org.assertj.core.api.Assertions.assertThat;
@ -127,6 +128,7 @@ public class JerseyServerMetricsAutoConfigurationTests {
String.class);
}
@Configuration
static class ResourceConfiguration {
@Bean
@ -147,6 +149,7 @@ public class JerseyServerMetricsAutoConfigurationTests {
}
@Configuration
static class CustomJerseyTagsProviderConfiguration {
@Bean

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2017 the original author or authors.
* 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.
@ -24,6 +24,7 @@ import org.springframework.boot.actuate.scheduling.ScheduledTasksEndpoint;
import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import static org.assertj.core.api.Assertions.assertThat;
@ -60,6 +61,7 @@ public class ScheduledTasksEndpointAutoConfigurationTests {
.hasBean("customEndpoint"));
}
@Configuration
private static class CustomEndpointConfiguration {
@Bean

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -96,6 +96,7 @@ public abstract class AbstractEndpointRequestIntegrationTests {
return "Basic " + Base64.getEncoder().encodeToString("user:password".getBytes());
}
@Configuration
static class BaseConfiguration {
@Bean

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -22,6 +22,7 @@ import org.springframework.boot.autoconfigure.web.servlet.DispatcherServletPath;
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
import org.springframework.boot.web.servlet.filter.OrderedRequestContextFilter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.context.request.RequestContextListener;
import org.springframework.web.filter.RequestContextFilter;
@ -72,6 +73,7 @@ public class WebMvcEndpointChildContextConfigurationTests {
.isEqualTo("/"));
}
@Configuration
static class ExistingConfig {
@Bean
@ -81,6 +83,7 @@ public class WebMvcEndpointChildContextConfigurationTests {
}
@Configuration
static class RequestContextListenerConfig {
@Bean

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -114,6 +114,7 @@ public class WebMvcMetricsIntegrationTests {
"http.server.requests", true);
}
@Configuration
@RestController
@RequestMapping("/api")
@Timed

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -30,6 +30,7 @@ import org.springframework.boot.actuate.scheduling.ScheduledTasksEndpoint.FixedR
import org.springframework.boot.actuate.scheduling.ScheduledTasksEndpoint.ScheduledTasksReport;
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.Trigger;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
@ -166,6 +167,7 @@ public class ScheduledTasksEndpointTests {
.accept(context.getBean(ScheduledTasksEndpoint.class).scheduledTasks()));
}
@Configuration
@EnableScheduling
private static class BaseConfiguration {

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -26,6 +26,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DatabaseDriver;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.StringUtils;
/**
@ -46,6 +47,7 @@ abstract class DataSourceConfiguration {
/**
* Tomcat Pool DataSource configuration.
*/
@Configuration
@ConditionalOnClass(org.apache.tomcat.jdbc.pool.DataSource.class)
@ConditionalOnMissingBean(DataSource.class)
@ConditionalOnProperty(name = "spring.datasource.type", havingValue = "org.apache.tomcat.jdbc.pool.DataSource", matchIfMissing = true)
@ -72,6 +74,7 @@ abstract class DataSourceConfiguration {
/**
* Hikari DataSource configuration.
*/
@Configuration
@ConditionalOnClass(HikariDataSource.class)
@ConditionalOnMissingBean(DataSource.class)
@ConditionalOnProperty(name = "spring.datasource.type", havingValue = "com.zaxxer.hikari.HikariDataSource", matchIfMissing = true)
@ -93,6 +96,7 @@ abstract class DataSourceConfiguration {
/**
* DBCP DataSource configuration.
*/
@Configuration
@ConditionalOnClass(org.apache.commons.dbcp2.BasicDataSource.class)
@ConditionalOnMissingBean(DataSource.class)
@ConditionalOnProperty(name = "spring.datasource.type", havingValue = "org.apache.commons.dbcp2.BasicDataSource", matchIfMissing = true)
@ -111,6 +115,7 @@ abstract class DataSourceConfiguration {
/**
* Generic DataSource configuration.
*/
@Configuration
@ConditionalOnMissingBean(DataSource.class)
@ConditionalOnProperty(name = "spring.datasource.type")
static class Generic {

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -95,6 +95,7 @@ abstract class ReactiveWebServerFactoryConfiguration {
}
@Configuration
@ConditionalOnMissingBean(ReactiveWebServerFactory.class)
@ConditionalOnClass({ Undertow.class })
static class EmbeddedUndertow {

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -307,6 +307,7 @@ public class BatchAutoConfigurationTests {
}
@Configuration
@EnableBatchProcessing
protected static class NamedJobConfigurationWithRegisteredJob {
@ -348,6 +349,7 @@ public class BatchAutoConfigurationTests {
}
@Configuration
@EnableBatchProcessing
protected static class NamedJobConfigurationWithLocalJob {
@ -379,6 +381,7 @@ public class BatchAutoConfigurationTests {
}
@Configuration
@EnableBatchProcessing
protected static class JobConfiguration {

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -32,6 +32,7 @@ import org.springframework.boot.autoconfigure.jndi.TestableInitialContextFactory
import org.springframework.boot.test.util.TestPropertyValues;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jmx.export.MBeanExporter;
import org.springframework.test.util.ReflectionTestUtils;
@ -161,7 +162,8 @@ public class JndiDataSourceAutoConfigurationTests {
TestableInitialContextFactory.bind(name, dataSource);
}
private static class MBeanExporterConfiguration {
@Configuration
static class MBeanExporterConfiguration {
@Bean
MBeanExporter mbeanExporter() {
@ -170,7 +172,8 @@ public class JndiDataSourceAutoConfigurationTests {
}
private static class AnotherMBeanExporterConfiguration {
@Configuration
static class AnotherMBeanExporterConfiguration {
@Bean
MBeanExporter anotherMbeanExporter() {

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.

View File

@ -111,6 +111,7 @@ public class MongoAutoConfigurationTests {
}
@Configuration
static class FallbackMongoClientConfig {
@Bean

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -382,6 +382,7 @@ public class MultipartAutoConfigurationTests {
}
@Configuration
public static class WebServerWithCustomMultipartResolver {
@Bean
@ -391,6 +392,7 @@ public class MultipartAutoConfigurationTests {
}
@Configuration
public static class ContainerWithCommonsMultipartResolver {
@Bean

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2017 the original author or authors.
* 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.
@ -75,6 +75,7 @@ public class WebSocketServletAutoConfigurationTests {
}
@Configuration
static class CommonConfiguration {
@Bean

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2017 the original author or authors.
* 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.
@ -128,6 +128,7 @@ public class HttpTunnelIntegrationTests {
}
@Configuration
static class TunnelConfiguration {
@Bean

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -34,12 +34,14 @@ import org.apache.catalina.startup.Tomcat;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.ServletContextInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* Example configuration for custom context path in Cloud Foundry.
*
* @author Johnny Lim
*/
@Configuration
public class CloudFoundryCustomContextPathExample {
// tag::configuration[]

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -18,6 +18,7 @@ package org.springframework.boot.docs.web.security;
import org.springframework.boot.autoconfigure.security.reactive.PathRequest;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.web.server.ServerHttpSecurity;
import org.springframework.security.web.server.SecurityWebFilterChain;
@ -26,6 +27,7 @@ import org.springframework.security.web.server.SecurityWebFilterChain;
*
* @author Madhura Bhave
*/
@Configuration
public class CustomWebFluxSecurityExample {
// @formatter:off

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -28,6 +28,7 @@ import org.junit.Test;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.mock.web.MockServletContext;
import org.springframework.test.util.ReflectionTestUtils;
import org.springframework.test.web.servlet.setup.DefaultMockMvcBuilder;
@ -65,6 +66,7 @@ public class SpringBootMockMvcBuilderCustomizerTests {
assertThat(filters).containsExactlyInAnyOrder(testFilter, otherTestFilter);
}
@Configuration
static class ServletConfiguration {
@Bean
@ -74,6 +76,7 @@ public class SpringBootMockMvcBuilderCustomizerTests {
}
@Configuration
static class FilterConfiguration {
@Bean

View File

@ -23,6 +23,7 @@ import org.junit.Test;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.stereotype.Component;
import org.springframework.test.context.ContextCustomizer;
@ -130,6 +131,7 @@ public class ImportsContextCustomizerFactoryTests {
}
@Configuration
@Import(ImportedBean.class)
static class TestWithImportAndBeanMethod {

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -226,6 +226,7 @@ public class BeanCurrentlyInCreationFailureAnalyzerTests {
return new BeanOne();
}
@org.springframework.context.annotation.Configuration
public static class BeanTwoConfiguration {
@SuppressWarnings("unused")
@ -239,6 +240,7 @@ public class BeanCurrentlyInCreationFailureAnalyzerTests {
}
@org.springframework.context.annotation.Configuration
public static class BeanThreeConfiguration {
@Bean

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2017 the original author or authors.
* 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.
@ -24,6 +24,7 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.boot.diagnostics.FailureAnalysis;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import static org.assertj.core.api.Assertions.assertThat;
@ -60,6 +61,7 @@ public class InvalidConfigurationPropertyNameFailureAnalyzerTests {
}
}
@Configuration
@EnableConfigurationProperties(InvalidPrefixProperties.class)
static class InvalidPrefixConfiguration {

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2017 the original author or authors.
* 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.
@ -153,6 +153,7 @@ public class NoUniqueBeanDefinitionFailureAnalyzerTests {
}
@Configuration
static class ParentProducer {
@Bean

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -30,6 +30,7 @@ import org.junit.Test;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import static org.assertj.core.api.Assertions.assertThat;
@ -74,6 +75,7 @@ public class ServletContextInitializerBeansTests {
this.context = new AnnotationConfigApplicationContext(configuration);
}
@Configuration
static class ServletConfiguration {
@Bean
@ -83,6 +85,7 @@ public class ServletContextInitializerBeansTests {
}
@Configuration
static class FilterConfiguration {
@Bean
@ -92,6 +95,7 @@ public class ServletContextInitializerBeansTests {
}
@Configuration
static class TestConfiguration {
@Bean

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2018 the original author or authors.
* 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.
@ -24,6 +24,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.dsl.IntegrationFlow;
import org.springframework.integration.dsl.IntegrationFlows;
@ -41,6 +42,7 @@ public class SampleParentContextApplication {
.child(SampleParentContextApplication.class).run(args);
}
@Configuration
@EnableAutoConfiguration
protected static class Parent {