Our auto-configurations are public, but users should reference only the names of these classes. The contained methods, inner classes etc. are not part of the public API (even if they are public by accident or technical reasons).

Make sure that all contained methods and inner classes are not public.

If a @Bean method or inner class is public, deprecate it so that users get a warning that they should not use that method. After some time we will remove the deprecation and drop the public modifier, removing it from public exposed API.

This will leave us with public auto-configuration classes which do not expose any inner classes or methods as public API.

Comment From: wilkinsona

I think we should aim to do this in a first milestone to give us much time as possible for feedback.

Comment From: philwebb

We can also add package-private constructors to stop folks subclassing them.

Comment From: wilkinsona

Beginnings of an Arch Unit rule to police method visibility:

private ArchRule autoConfigurationClassesShouldHaveNoPublicMethods() {
    return ArchRuleDefinition.methods()
        .that()
        .areDeclaredInClassesThat()
        .areAnnotatedWith("org.springframework.boot.autoconfigure.AutoConfiguration")
        .should()
        .notBePublic()
        .allowEmptyShould(true);
}

Alternatively, if we want to deprecate them first:

private ArchRule publicMethodsOnAutoConfigurationClassesShouldBeDeprecated() {
    return ArchRuleDefinition.methods()
        .that()
        .arePublic()
        .and()
        .areDeclaredInClassesThat()
        .areAnnotatedWith("org.springframework.boot.autoconfigure.AutoConfiguration")
        .should()
        .beAnnotatedWith(Deprecated.class)
        .allowEmptyShould(true);
}

There are 167 violations in spring-boot-autoconfigure:

Architecture Violation [Priority: MEDIUM] - Rule 'methods that are public and are declared in classes that are annotated with @AutoConfiguration should be annotated with @Deprecated' was violated (167 times):
Method <org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration.springApplicationAdminRegistrar(org.springframework.beans.factory.ObjectProvider, org.springframework.core.env.Environment)> is not annotated with @Deprecated in (SpringApplicationAdminJmxAutoConfiguration.java:61)
Method <org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration.applicationAvailability()> is not annotated with @Deprecated in (ApplicationAvailabilityAutoConfiguration.java:39)
Method <org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration.jobExecutionExitCodeGenerator()> is not annotated with @Deprecated in (BatchAutoConfiguration.java:95)
Method <org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration.jobLauncherApplicationRunner(org.springframework.batch.core.launch.JobLauncher, org.springframework.batch.core.explore.JobExplorer, org.springframework.batch.core.repository.JobRepository, org.springframework.boot.autoconfigure.batch.BatchProperties)> is not annotated with @Deprecated in (BatchAutoConfiguration.java:84)
Method <org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration.jobOperator(org.springframework.beans.factory.ObjectProvider, org.springframework.batch.core.explore.JobExplorer, org.springframework.batch.core.launch.JobLauncher, org.springframework.batch.core.configuration.ListableJobLocator, org.springframework.batch.core.repository.JobRepository)> is not annotated with @Deprecated in (BatchAutoConfiguration.java:103)
Method <org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration.cacheAutoConfigurationValidator(org.springframework.boot.autoconfigure.cache.CacheProperties, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (CacheAutoConfiguration.java:74)
Method <org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration.cacheManagerCustomizers(org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (CacheAutoConfiguration.java:68)
Method <org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration.cassandraDriverConfigLoader(org.springframework.boot.autoconfigure.cassandra.CassandraConnectionDetails, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (CassandraAutoConfiguration.java:167)
Method <org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration.cassandraSession(com.datastax.oss.driver.api.core.CqlSessionBuilder)> is not annotated with @Deprecated in (CassandraAutoConfiguration.java:109)
Method <org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration.cassandraSessionBuilder(com.datastax.oss.driver.api.core.config.DriverConfigLoader, org.springframework.boot.autoconfigure.cassandra.CassandraConnectionDetails, org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (CassandraAutoConfiguration.java:118)
Method <org.springframework.boot.autoconfigure.context.LifecycleAutoConfiguration.defaultLifecycleProcessor(org.springframework.boot.autoconfigure.context.LifecycleProperties)> is not annotated with @Deprecated in (LifecycleAutoConfiguration.java:43)
Method <org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration.messageSource(org.springframework.boot.autoconfigure.context.MessageSourceProperties)> is not annotated with @Deprecated in (MessageSourceAutoConfiguration.java:70)
Method <org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration.messageSourceProperties()> is not annotated with @Deprecated in (MessageSourceAutoConfiguration.java:65)
Method <org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration.propertySourcesPlaceholderConfigurer()> is not annotated with @Deprecated in (PropertyPlaceholderAutoConfiguration.java:43)
Method <org.springframework.boot.autoconfigure.couchbase.CouchbaseAutoConfiguration.couchbaseCluster(com.couchbase.client.java.env.ClusterEnvironment, org.springframework.boot.autoconfigure.couchbase.CouchbaseConnectionDetails)> is not annotated with @Deprecated in (CouchbaseAutoConfiguration.java:100)
Method <org.springframework.boot.autoconfigure.couchbase.CouchbaseAutoConfiguration.couchbaseClusterEnvironment(org.springframework.boot.autoconfigure.couchbase.CouchbaseConnectionDetails, org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (CouchbaseAutoConfiguration.java:91)
Method <org.springframework.boot.autoconfigure.dao.PersistenceExceptionTranslationAutoConfiguration.persistenceExceptionTranslationPostProcessor(org.springframework.core.env.Environment)> is not annotated with @Deprecated in (PersistenceExceptionTranslationAutoConfiguration.java:46)
Method <org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration.cassandraConverter(org.springframework.data.cassandra.core.mapping.CassandraMappingContext, org.springframework.data.cassandra.core.convert.CassandraCustomConversions)> is not annotated with @Deprecated in (CassandraDataAutoConfiguration.java:97)
Method <org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration.cassandraCustomConversions()> is not annotated with @Deprecated in (CassandraDataAutoConfiguration.java:124)
Method <org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration.cassandraManagedTypes(org.springframework.beans.factory.BeanFactory)> is not annotated with @Deprecated in (CassandraDataAutoConfiguration.java:73)
Method <org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration.cassandraMappingContext(org.springframework.data.cassandra.CassandraManagedTypes, org.springframework.data.cassandra.core.convert.CassandraCustomConversions)> is not annotated with @Deprecated in (CassandraDataAutoConfiguration.java:87)
Method <org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration.cassandraSessionFactory(org.springframework.core.env.Environment, org.springframework.data.cassandra.core.convert.CassandraConverter)> is not annotated with @Deprecated in (CassandraDataAutoConfiguration.java:107)
Method <org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration.cassandraTemplate(org.springframework.data.cassandra.SessionFactory, org.springframework.data.cassandra.core.convert.CassandraConverter)> is not annotated with @Deprecated in (CassandraDataAutoConfiguration.java:118)
Method <org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveDataAutoConfiguration.reactiveCassandraSession(com.datastax.oss.driver.api.core.CqlSession)> is not annotated with @Deprecated in (CassandraReactiveDataAutoConfiguration.java:52)
Method <org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveDataAutoConfiguration.reactiveCassandraSessionFactory(org.springframework.data.cassandra.ReactiveSession)> is not annotated with @Deprecated in (CassandraReactiveDataAutoConfiguration.java:58)
Method <org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveDataAutoConfiguration.reactiveCassandraTemplate(org.springframework.data.cassandra.ReactiveSession, org.springframework.data.cassandra.core.convert.CassandraConverter)> is not annotated with @Deprecated in (CassandraReactiveDataAutoConfiguration.java:65)
Method <org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration.entityManagerFactoryBootstrapExecutorCustomizer(java.util.Map)> is not annotated with @Deprecated in (JpaRepositoriesAutoConfiguration.java:86)
Method <org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration.dataBufferFactory()> is not annotated with @Deprecated in (MongoReactiveDataAutoConfiguration.java:116)
Method <org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration.mappingMongoConverter(org.springframework.data.mongodb.core.mapping.MongoMappingContext, org.springframework.data.mongodb.core.convert.MongoCustomConversions)> is not annotated with @Deprecated in (MongoReactiveDataAutoConfiguration.java:108)
Method <org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration.reactiveGridFsTemplate(org.springframework.data.mongodb.ReactiveMongoDatabaseFactory, org.springframework.data.mongodb.core.convert.MappingMongoConverter, org.springframework.core.io.buffer.DataBufferFactory)> is not annotated with @Deprecated in (MongoReactiveDataAutoConfiguration.java:123)
Method <org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration.reactiveMongoDatabaseFactory(com.mongodb.reactivestreams.client.MongoClient, org.springframework.boot.autoconfigure.mongo.MongoProperties)> is not annotated with @Deprecated in (MongoReactiveDataAutoConfiguration.java:90)
Method <org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration.reactiveMongoTemplate(org.springframework.data.mongodb.ReactiveMongoDatabaseFactory, org.springframework.data.mongodb.core.convert.MongoConverter)> is not annotated with @Deprecated in (MongoReactiveDataAutoConfiguration.java:101)
Method <org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration.databaseSelectionProvider(org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataProperties)> is not annotated with @Deprecated in (Neo4jDataAutoConfiguration.java:86)
Method <org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration.neo4jClient(org.neo4j.driver.Driver, org.springframework.data.neo4j.core.DatabaseSelectionProvider)> is not annotated with @Deprecated in (Neo4jDataAutoConfiguration.java:94)
Method <org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration.neo4jConversions()> is not annotated with @Deprecated in (Neo4jDataAutoConfiguration.java:69)
Method <org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration.neo4jMappingContext(org.springframework.context.ApplicationContext, org.springframework.data.neo4j.core.convert.Neo4jConversions)> is not annotated with @Deprecated in (Neo4jDataAutoConfiguration.java:76)
Method <org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration.neo4jTemplate(org.springframework.data.neo4j.core.Neo4jClient, org.springframework.data.neo4j.core.mapping.Neo4jMappingContext)> is not annotated with @Deprecated in (Neo4jDataAutoConfiguration.java:100)
Method <org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration.transactionManager(org.neo4j.driver.Driver, org.springframework.data.neo4j.core.DatabaseSelectionProvider, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (Neo4jDataAutoConfiguration.java:107)
Method <org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveDataAutoConfiguration.reactiveDatabaseSelectionProvider(org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataProperties)> is not annotated with @Deprecated in (Neo4jReactiveDataAutoConfiguration.java:52)
Method <org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveDataAutoConfiguration.reactiveNeo4jClient(org.neo4j.driver.Driver, org.springframework.data.neo4j.core.ReactiveDatabaseSelectionProvider)> is not annotated with @Deprecated in (Neo4jReactiveDataAutoConfiguration.java:61)
Method <org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveDataAutoConfiguration.reactiveNeo4jTemplate(org.springframework.data.neo4j.core.ReactiveNeo4jClient, org.springframework.data.neo4j.core.mapping.Neo4jMappingContext)> is not annotated with @Deprecated in (Neo4jReactiveDataAutoConfiguration.java:68)
Method <org.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfiguration.r2dbcConverter(org.springframework.data.r2dbc.mapping.R2dbcMappingContext, org.springframework.data.r2dbc.convert.R2dbcCustomConversions)> is not annotated with @Deprecated in (R2dbcDataAutoConfiguration.java:96)
Method <org.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfiguration.r2dbcCustomConversions()> is not annotated with @Deprecated in (R2dbcDataAutoConfiguration.java:102)
Method <org.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfiguration.r2dbcEntityTemplate(org.springframework.data.r2dbc.convert.R2dbcConverter)> is not annotated with @Deprecated in (R2dbcDataAutoConfiguration.java:71)
Method <org.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfiguration.r2dbcMappingContext(org.springframework.beans.factory.ObjectProvider, org.springframework.data.r2dbc.convert.R2dbcCustomConversions, org.springframework.data.relational.RelationalManagedTypes)> is not annotated with @Deprecated in (R2dbcDataAutoConfiguration.java:85)
Method <org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration.redisTemplate(org.springframework.data.redis.connection.RedisConnectionFactory)> is not annotated with @Deprecated in (RedisAutoConfiguration.java:62)
Method <org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration.stringRedisTemplate(org.springframework.data.redis.connection.RedisConnectionFactory)> is not annotated with @Deprecated in (RedisAutoConfiguration.java:71)
Method <org.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration.reactiveRedisTemplate(org.springframework.data.redis.connection.ReactiveRedisConnectionFactory, org.springframework.core.io.ResourceLoader)> is not annotated with @Deprecated in (RedisReactiveAutoConfiguration.java:51)
Method <org.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration.reactiveStringRedisTemplate(org.springframework.data.redis.connection.ReactiveRedisConnectionFactory)> is not annotated with @Deprecated in (RedisReactiveAutoConfiguration.java:68)
Method <org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration.springBootRepositoryRestConfigurer(org.springframework.beans.factory.ObjectProvider, org.springframework.boot.autoconfigure.data.rest.RepositoryRestProperties)> is not annotated with @Deprecated in (RepositoryRestMvcAutoConfiguration.java:61)
Method <org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration.pageableCustomizer()> is not annotated with @Deprecated in (SpringDataWebAutoConfiguration.java:64)
Method <org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration.sortCustomizer()> is not annotated with @Deprecated in (SpringDataWebAutoConfiguration.java:79)
Method <org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration.flywayDefaultDdlModeProvider(org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (FlywayAutoConfiguration.java:110)
Method <org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration.stringOrNumberMigrationVersionConverter()> is not annotated with @Deprecated in (FlywayAutoConfiguration.java:105)
Method <org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration.checkTemplateLocationExists()> is not annotated with @Deprecated in (FreeMarkerAutoConfiguration.java:64)
Method <org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration.annotatedControllerConfigurer()> is not annotated with @Deprecated in (GraphQlAutoConfiguration.java:156)
Method <org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration.batchLoaderRegistry()> is not annotated with @Deprecated in (GraphQlAutoConfiguration.java:141)
Method <org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration.executionGraphQlService(org.springframework.graphql.execution.GraphQlSource, org.springframework.graphql.execution.BatchLoaderRegistry)> is not annotated with @Deprecated in (GraphQlAutoConfiguration.java:148)
Method <org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration.graphQlSource(org.springframework.core.io.support.ResourcePatternResolver, org.springframework.boot.autoconfigure.graphql.GraphQlProperties, org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (GraphQlAutoConfiguration.java:96)
Method <org.springframework.boot.autoconfigure.graphql.data.GraphQlQueryByExampleAutoConfiguration.queryByExampleRegistrar(org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (GraphQlQueryByExampleAutoConfiguration.java:54)
Method <org.springframework.boot.autoconfigure.graphql.data.GraphQlQuerydslAutoConfiguration.querydslRegistrar(org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (GraphQlQuerydslAutoConfiguration.java:55)
Method <org.springframework.boot.autoconfigure.graphql.data.GraphQlReactiveQueryByExampleAutoConfiguration.reactiveQueryByExampleRegistrar(org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (GraphQlReactiveQueryByExampleAutoConfiguration.java:54)
Method <org.springframework.boot.autoconfigure.graphql.data.GraphQlReactiveQuerydslAutoConfiguration.reactiveQuerydslRegistrar(org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (GraphQlReactiveQuerydslAutoConfiguration.java:55)
Method <org.springframework.boot.autoconfigure.graphql.reactive.GraphQlWebFluxAutoConfiguration.graphQlHttpHandler(org.springframework.graphql.server.WebGraphQlHandler)> is not annotated with @Deprecated in (GraphQlWebFluxAutoConfiguration.java:98)
Method <org.springframework.boot.autoconfigure.graphql.reactive.GraphQlWebFluxAutoConfiguration.graphQlRouterFunction(org.springframework.graphql.server.webflux.GraphQlHttpHandler, org.springframework.graphql.execution.GraphQlSource, org.springframework.boot.autoconfigure.graphql.GraphQlProperties)> is not annotated with @Deprecated in (GraphQlWebFluxAutoConfiguration.java:112)
Method <org.springframework.boot.autoconfigure.graphql.reactive.GraphQlWebFluxAutoConfiguration.webGraphQlHandler(org.springframework.graphql.ExecutionGraphQlService, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (GraphQlWebFluxAutoConfiguration.java:105)
Method <org.springframework.boot.autoconfigure.graphql.rsocket.GraphQlRSocketAutoConfiguration.graphQlRSocketController(org.springframework.graphql.server.GraphQlRSocketHandler)> is not annotated with @Deprecated in (GraphQlRSocketAutoConfiguration.java:66)
Method <org.springframework.boot.autoconfigure.graphql.rsocket.GraphQlRSocketAutoConfiguration.graphQlRSocketHandler(org.springframework.graphql.ExecutionGraphQlService, org.springframework.beans.factory.ObjectProvider, com.fasterxml.jackson.databind.ObjectMapper)> is not annotated with @Deprecated in (GraphQlRSocketAutoConfiguration.java:59)
Method <org.springframework.boot.autoconfigure.graphql.rsocket.RSocketGraphQlClientAutoConfiguration.rsocketGraphQlClientBuilder(org.springframework.messaging.rsocket.RSocketRequester$Builder)> is not annotated with @Deprecated in (RSocketGraphQlClientAutoConfiguration.java:54)
Method <org.springframework.boot.autoconfigure.graphql.security.GraphQlWebFluxSecurityAutoConfiguration.reactiveSecurityDataFetcherExceptionResolver()> is not annotated with @Deprecated in (GraphQlWebFluxSecurityAutoConfiguration.java:49)
Method <org.springframework.boot.autoconfigure.graphql.security.GraphQlWebMvcSecurityAutoConfiguration.securityDataFetcherExceptionResolver()> is not annotated with @Deprecated in (GraphQlWebMvcSecurityAutoConfiguration.java:49)
Method <org.springframework.boot.autoconfigure.graphql.servlet.GraphQlWebMvcAutoConfiguration.graphQlHttpHandler(org.springframework.graphql.server.WebGraphQlHandler)> is not annotated with @Deprecated in (GraphQlWebMvcAutoConfiguration.java:98)
Method <org.springframework.boot.autoconfigure.graphql.servlet.GraphQlWebMvcAutoConfiguration.graphQlRouterFunction(org.springframework.graphql.server.webmvc.GraphQlHttpHandler, org.springframework.graphql.execution.GraphQlSource, org.springframework.boot.autoconfigure.graphql.GraphQlProperties)> is not annotated with @Deprecated in (GraphQlWebMvcAutoConfiguration.java:112)
Method <org.springframework.boot.autoconfigure.graphql.servlet.GraphQlWebMvcAutoConfiguration.webGraphQlHandler(org.springframework.graphql.ExecutionGraphQlService, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (GraphQlWebMvcAutoConfiguration.java:105)
Method <org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration.gson(com.google.gson.GsonBuilder)> is not annotated with @Deprecated in (GsonAutoConfiguration.java:56)
Method <org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration.gsonBuilder(java.util.List)> is not annotated with @Deprecated in (GsonAutoConfiguration.java:48)
Method <org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration.standardGsonBuilderCustomizer(org.springframework.boot.autoconfigure.gson.GsonProperties)> is not annotated with @Deprecated in (GsonAutoConfiguration.java:61)
Method <org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.h2Console(org.springframework.boot.autoconfigure.h2.H2ConsoleProperties, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (H2ConsoleAutoConfiguration.java:63)
Method <org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration.messageConverters(org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (HttpMessageConvertersAutoConfiguration.java:72)
Method <org.springframework.boot.autoconfigure.influx.InfluxDbAutoConfiguration.influxDb(org.springframework.boot.autoconfigure.influx.InfluxDbProperties, org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (InfluxDbAutoConfiguration.java:53)
Method <org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration.buildProperties()> is not annotated with @Deprecated in (ProjectInfoAutoConfiguration.java:72)
Method <org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration.gitProperties()> is not annotated with @Deprecated in (ProjectInfoAutoConfiguration.java:64)
Method <org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration.integrationGlobalProperties(org.springframework.boot.autoconfigure.integration.IntegrationProperties)> is not annotated with @Deprecated in (IntegrationAutoConfiguration.java:94)
Method <org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.jsonComponentModule()> is not annotated with @Deprecated in (JacksonAutoConfiguration.java:101)
Method <org.springframework.boot.autoconfigure.jdbc.JndiDataSourceAutoConfiguration.dataSource(org.springframework.boot.autoconfigure.jdbc.DataSourceProperties, org.springframework.context.ApplicationContext)> is not annotated with @Deprecated in (JndiDataSourceAutoConfiguration.java:51)
Method <org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration.dataSource(org.springframework.boot.jdbc.XADataSourceWrapper, org.springframework.boot.autoconfigure.jdbc.DataSourceProperties, org.springframework.boot.autoconfigure.jdbc.JdbcConnectionDetails, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (XADataSourceAutoConfiguration.java:78)
Method <org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration.setBeanClassLoader(java.lang.ClassLoader)> is not annotated with @Deprecated in (XADataSourceAutoConfiguration.java:84)
Method <org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration.jerseyApplicationPath()> is not annotated with @Deprecated in (JerseyAutoConfiguration.java:113)
Method <org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration.jerseyFilterRegistration(org.springframework.boot.autoconfigure.web.servlet.JerseyApplicationPath)> is not annotated with @Deprecated in (JerseyAutoConfiguration.java:120)
Method <org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration.jerseyServletRegistration(org.springframework.boot.autoconfigure.web.servlet.JerseyApplicationPath)> is not annotated with @Deprecated in (JerseyAutoConfiguration.java:142)
Method <org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration.requestContextFilter()> is not annotated with @Deprecated in (JerseyAutoConfiguration.java:103)
Method <org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration.setServletContext(jakarta.servlet.ServletContext)> is not annotated with @Deprecated in (JerseyAutoConfiguration.java:161)
Method <org.springframework.boot.autoconfigure.jms.JndiConnectionFactoryAutoConfiguration.jmsConnectionFactory(org.springframework.boot.autoconfigure.jms.JmsProperties)> is not annotated with @Deprecated in (JndiConnectionFactoryAutoConfiguration.java:58)
Method <org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration.mbeanExporter(org.springframework.jmx.export.naming.ObjectNamingStrategy, org.springframework.beans.factory.BeanFactory)> is not annotated with @Deprecated in (JmxAutoConfiguration.java:68)
Method <org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration.mbeanServer()> is not annotated with @Deprecated in (JmxAutoConfiguration.java:94)
Method <org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration.objectNamingStrategy()> is not annotated with @Deprecated in (JmxAutoConfiguration.java:82)
Method <org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration.dataSourceConnectionProvider(javax.sql.DataSource)> is not annotated with @Deprecated in (JooqAutoConfiguration.java:61)
Method <org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration.jooqExceptionTranslatorExecuteListenerProvider()> is not annotated with @Deprecated in (JooqAutoConfiguration.java:74)
Method <org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration.transactionProvider(org.springframework.transaction.PlatformTransactionManager)> is not annotated with @Deprecated in (JooqAutoConfiguration.java:68)
Method <org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration.jsonb()> is not annotated with @Deprecated in (JsonbAutoConfiguration.java:44)
Method <org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration.kafkaAdmin(org.springframework.boot.autoconfigure.kafka.KafkaConnectionDetails)> is not annotated with @Deprecated in (KafkaAutoConfiguration.java:159)
Method <org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration.kafkaConsumerFactory(org.springframework.boot.autoconfigure.kafka.KafkaConnectionDetails, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (KafkaAutoConfiguration.java:111)
Method <org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration.kafkaJaasInitializer()> is not annotated with @Deprecated in (KafkaAutoConfiguration.java:144)
Method <org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration.kafkaProducerFactory(org.springframework.boot.autoconfigure.kafka.KafkaConnectionDetails, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (KafkaAutoConfiguration.java:122)
Method <org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration.kafkaProducerListener()> is not annotated with @Deprecated in (KafkaAutoConfiguration.java:104)
Method <org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration.kafkaRetryTopicConfiguration(org.springframework.kafka.core.KafkaTemplate)> is not annotated with @Deprecated in (KafkaAutoConfiguration.java:179)
Method <org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration.kafkaTemplate(org.springframework.kafka.core.ProducerFactory, org.springframework.kafka.support.ProducerListener, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (KafkaAutoConfiguration.java:92)
Method <org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration.kafkaTransactionManager(org.springframework.kafka.core.ProducerFactory)> is not annotated with @Deprecated in (KafkaAutoConfiguration.java:137)
Method <org.springframework.boot.autoconfigure.ldap.LdapAutoConfiguration.ldapContextSource(org.springframework.boot.autoconfigure.ldap.LdapProperties, org.springframework.core.env.Environment, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (LdapAutoConfiguration.java:53)
Method <org.springframework.boot.autoconfigure.ldap.LdapAutoConfiguration.ldapTemplate(org.springframework.boot.autoconfigure.ldap.LdapProperties, org.springframework.ldap.core.ContextSource)> is not annotated with @Deprecated in (LdapAutoConfiguration.java:69)
Method <org.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration.close()> is not annotated with @Deprecated in (EmbeddedLdapAutoConfiguration.java:172)
Method <org.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration.directoryServer(org.springframework.context.ApplicationContext)> is not annotated with @Deprecated in (EmbeddedLdapAutoConfiguration.java:94)
Method <org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration.liquibaseDefaultDdlModeProvider(org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (LiquibaseAutoConfiguration.java:79)
Method <org.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration.validateConnection()> is not annotated with @Deprecated in (MailSenderValidatorAutoConfiguration.java:49)
Method <org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration.mongo(org.springframework.beans.factory.ObjectProvider, com.mongodb.MongoClientSettings)> is not annotated with @Deprecated in (MongoAutoConfiguration.java:59)
Method <org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration.reactiveStreamsMongoClient(org.springframework.beans.factory.ObjectProvider, com.mongodb.MongoClientSettings)> is not annotated with @Deprecated in (MongoReactiveAutoConfiguration.java:64)
Method <org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration.checkTemplateLocationExists()> is not annotated with @Deprecated in (MustacheAutoConfiguration.java:60)
Method <org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration.mustacheCompiler(com.samskivert.mustache.Mustache$TemplateLoader)> is not annotated with @Deprecated in (MustacheAutoConfiguration.java:73)
Method <org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration.mustacheTemplateLoader()> is not annotated with @Deprecated in (MustacheAutoConfiguration.java:79)
Method <org.springframework.boot.autoconfigure.neo4j.Neo4jAutoConfiguration.neo4jDriver(org.springframework.boot.autoconfigure.neo4j.Neo4jProperties, org.springframework.core.env.Environment, org.springframework.boot.autoconfigure.neo4j.Neo4jConnectionDetails, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (Neo4jAutoConfiguration.java:75)
Method <org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration.quartzScheduler(org.springframework.boot.autoconfigure.quartz.QuartzProperties, org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider, java.util.Map, org.springframework.beans.factory.ObjectProvider, org.springframework.context.ApplicationContext)> is not annotated with @Deprecated in (QuartzAutoConfiguration.java:71)
Method <org.springframework.boot.autoconfigure.r2dbc.R2dbcTransactionManagerAutoConfiguration.connectionFactoryTransactionManager(io.r2dbc.spi.ConnectionFactory)> is not annotated with @Deprecated in (R2dbcTransactionManagerAutoConfiguration.java:48)
Method <org.springframework.boot.autoconfigure.rsocket.RSocketMessagingAutoConfiguration.messageHandler(org.springframework.messaging.rsocket.RSocketStrategies, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (RSocketMessagingAutoConfiguration.java:46)
Method <org.springframework.boot.autoconfigure.rsocket.RSocketRequesterAutoConfiguration.rSocketRequesterBuilder(org.springframework.messaging.rsocket.RSocketStrategies, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (RSocketRequesterAutoConfiguration.java:53)
Method <org.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfiguration.rSocketStrategies(org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (RSocketStrategiesAutoConfiguration.java:59)
Method <org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration.reactiveUserDetailsService(org.springframework.boot.autoconfigure.security.SecurityProperties, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (ReactiveUserDetailsServiceAutoConfiguration.java:78)
Method <org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.authenticationEventPublisher(org.springframework.context.ApplicationEventPublisher)> is not annotated with @Deprecated in (SecurityAutoConfiguration.java:49)
Method <org.springframework.boot.autoconfigure.security.servlet.SecurityFilterAutoConfiguration.securityFilterChainRegistration(org.springframework.boot.autoconfigure.security.SecurityProperties)> is not annotated with @Deprecated in (SecurityFilterAutoConfiguration.java:61)
Method <org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration.inMemoryUserDetailsManager(org.springframework.boot.autoconfigure.security.SecurityProperties, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (UserDetailsServiceAutoConfiguration.java:76)
Method <org.springframework.boot.autoconfigure.sendgrid.SendGridAutoConfiguration.sendGrid(org.springframework.boot.autoconfigure.sendgrid.SendGridProperties)> is not annotated with @Deprecated in (SendGridAutoConfiguration.java:50)
Method <org.springframework.boot.autoconfigure.ssl.SslAutoConfiguration.sslBundleRegistry(java.util.List)> is not annotated with @Deprecated in (SslAutoConfiguration.java:51)
Method <org.springframework.boot.autoconfigure.ssl.SslAutoConfiguration.sslPropertiesSslBundleRegistrar(org.springframework.boot.autoconfigure.ssl.SslProperties)> is not annotated with @Deprecated in (SslAutoConfiguration.java:45)
Method <org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration.applicationTaskExecutor(org.springframework.boot.task.TaskExecutorBuilder)> is not annotated with @Deprecated in (TaskExecutionAutoConfiguration.java:80)
Method <org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration.taskExecutorBuilder(org.springframework.boot.autoconfigure.task.TaskExecutionProperties, org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (TaskExecutionAutoConfiguration.java:59)
Method <org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration.scheduledBeanLazyInitializationExcludeFilter()> is not annotated with @Deprecated in (TaskSchedulingAutoConfiguration.java:59)
Method <org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration.taskScheduler(org.springframework.boot.task.TaskSchedulerBuilder)> is not annotated with @Deprecated in (TaskSchedulingAutoConfiguration.java:53)
Method <org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration.taskSchedulerBuilder(org.springframework.boot.autoconfigure.task.TaskSchedulingProperties, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (TaskSchedulingAutoConfiguration.java:66)
Method <org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration.platformTransactionManagerCustomizers(org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (TransactionAutoConfiguration.java:54)
Method <org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration.transactionalOperator(org.springframework.transaction.ReactiveTransactionManager)> is not annotated with @Deprecated in (TransactionAutoConfiguration.java:61)
Method <org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration.defaultValidator(org.springframework.context.ApplicationContext, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (ValidationAutoConfiguration.java:60)
Method <org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration.methodValidationPostProcessor(org.springframework.core.env.Environment, org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (ValidationAutoConfiguration.java:72)
Method <org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration.restTemplateBuilder(org.springframework.boot.autoconfigure.web.client.RestTemplateBuilderConfigurer)> is not annotated with @Deprecated in (RestTemplateAutoConfiguration.java:68)
Method <org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration.restTemplateBuilderConfigurer(org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (RestTemplateAutoConfiguration.java:57)
Method <org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryAutoConfiguration.forwardedHeaderTransformer()> is not annotated with @Deprecated in (ReactiveWebServerFactoryAutoConfiguration.java:82)
Method <org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryAutoConfiguration.reactiveWebServerFactoryCustomizer(org.springframework.boot.autoconfigure.web.ServerProperties, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (ReactiveWebServerFactoryAutoConfiguration.java:68)
Method <org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryAutoConfiguration.tomcatReactiveWebServerFactoryCustomizer(org.springframework.boot.autoconfigure.web.ServerProperties)> is not annotated with @Deprecated in (ReactiveWebServerFactoryAutoConfiguration.java:75)
Method <org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration.hiddenHttpMethodFilter()> is not annotated with @Deprecated in (WebFluxAutoConfiguration.java:117)
Method <org.springframework.boot.autoconfigure.web.reactive.WebSessionIdResolverAutoConfiguration.webSessionIdResolver()> is not annotated with @Deprecated in (WebSessionIdResolverAutoConfiguration.java:62)
Method <org.springframework.boot.autoconfigure.web.reactive.error.ErrorWebFluxAutoConfiguration.errorAttributes()> is not annotated with @Deprecated in (ErrorWebFluxAutoConfiguration.java:77)
Method <org.springframework.boot.autoconfigure.web.reactive.error.ErrorWebFluxAutoConfiguration.errorWebExceptionHandler(org.springframework.boot.web.reactive.error.ErrorAttributes, org.springframework.boot.autoconfigure.web.WebProperties, org.springframework.beans.factory.ObjectProvider, org.springframework.http.codec.ServerCodecConfigurer, org.springframework.context.ApplicationContext)> is not annotated with @Deprecated in (ErrorWebFluxAutoConfiguration.java:66)
Method <org.springframework.boot.autoconfigure.web.reactive.function.client.ClientHttpConnectorAutoConfiguration.webClientHttpConnectorCustomizer(org.springframework.http.client.reactive.ClientHttpConnector)> is not annotated with @Deprecated in (ClientHttpConnectorAutoConfiguration.java:66)
Method <org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration.webClientBuilder(org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (WebClientAutoConfiguration.java:54)
Method <org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration.characterEncodingFilter()> is not annotated with @Deprecated in (HttpEncodingAutoConfiguration.java:59)
Method <org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration.localeCharsetMappingsCustomizer()> is not annotated with @Deprecated in (HttpEncodingAutoConfiguration.java:68)
Method <org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration.multipartConfigElement()> is not annotated with @Deprecated in (MultipartAutoConfiguration.java:67)
Method <org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration.multipartResolver()> is not annotated with @Deprecated in (MultipartAutoConfiguration.java:73)
Method <org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration.servletWebServerFactoryCustomizer(org.springframework.boot.autoconfigure.web.ServerProperties, org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (ServletWebServerFactoryAutoConfiguration.java:80)
Method <org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration.tomcatServletWebServerFactoryCustomizer(org.springframework.boot.autoconfigure.web.ServerProperties)> is not annotated with @Deprecated in (ServletWebServerFactoryAutoConfiguration.java:88)
Method <org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration.formContentFilter()> is not annotated with @Deprecated in (WebMvcAutoConfiguration.java:175)
Method <org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration.hiddenHttpMethodFilter()> is not annotated with @Deprecated in (WebMvcAutoConfiguration.java:168)
Method <org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.basicErrorController(org.springframework.boot.web.servlet.error.ErrorAttributes, org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (ErrorMvcAutoConfiguration.java:108)
Method <org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.errorAttributes()> is not annotated with @Deprecated in (ErrorMvcAutoConfiguration.java:101)
Method <org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.errorPageCustomizer(org.springframework.boot.autoconfigure.web.servlet.DispatcherServletPath)> is not annotated with @Deprecated in (ErrorMvcAutoConfiguration.java:114)
Method <org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.preserveErrorControllerTargetClassPostProcessor()> is not annotated with @Deprecated in (ErrorMvcAutoConfiguration.java:119)
Method <org.springframework.boot.autoconfigure.webservices.WebServicesAutoConfiguration.messageDispatcherServlet(org.springframework.context.ApplicationContext, org.springframework.boot.autoconfigure.webservices.WebServicesProperties)> is not annotated with @Deprecated in (WebServicesAutoConfiguration.java:72)
Method <org.springframework.boot.autoconfigure.webservices.WebServicesAutoConfiguration.wsdlDefinitionBeanFactoryPostProcessor()> is not annotated with @Deprecated in (WebServicesAutoConfiguration.java:88)
Method <org.springframework.boot.autoconfigure.webservices.client.WebServiceTemplateAutoConfiguration.webServiceTemplateBuilder(org.springframework.beans.factory.ObjectProvider)> is not annotated with @Deprecated in (WebServiceTemplateAutoConfiguration.java:47)

Comment From: philwebb

We don't think this is high priority, but if we do it we should add @Deprecated annotations and do it in an early milestone.