Commit 50099337 authored by Andy Wilkinson's avatar Andy Wilkinson

Move to constructor injection in simple configuration classes

This commit updates "simple" configuration classes to use constructor
injection. Simple means that there are no optional dependencies
(@Autowired(required=false) is not used), and none of the dependencies
use generics.

Configuration classes that are not simple will be updated in a second
pass once https://jira.spring.io/browse/SPR-14015 has been fixed.

See gh-5306
parent 398aed7f
......@@ -103,8 +103,12 @@ import org.springframework.mail.javamail.JavaMailSenderImpl;
@EnableConfigurationProperties({ HealthIndicatorProperties.class })
public class HealthIndicatorAutoConfiguration {
@Autowired
private HealthIndicatorProperties properties = new HealthIndicatorProperties();
private final HealthIndicatorProperties properties;
public HealthIndicatorAutoConfiguration(
HealthIndicatorProperties properties) {
this.properties = properties;
}
@Bean
@ConditionalOnMissingBean(HealthAggregator.class)
......
......@@ -20,7 +20,6 @@ import java.util.Properties;
import org.jolokia.http.AgentServlet;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.JolokiaAutoConfiguration.JolokiaCondition;
import org.springframework.boot.actuate.endpoint.mvc.JolokiaMvcEndpoint;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
......@@ -69,8 +68,11 @@ import org.springframework.web.servlet.mvc.ServletWrappingController;
@EnableConfigurationProperties(JolokiaProperties.class)
public class JolokiaAutoConfiguration {
@Autowired
JolokiaProperties properties = new JolokiaProperties();
private final JolokiaProperties properties;
public JolokiaAutoConfiguration(JolokiaProperties properties) {
this.properties = properties;
}
@Bean
@ConditionalOnMissingBean
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -19,7 +19,6 @@ package org.springframework.boot.actuate.autoconfigure;
import javax.servlet.Servlet;
import javax.servlet.ServletRegistration;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.metrics.CounterService;
import org.springframework.boot.actuate.metrics.GaugeService;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
......@@ -48,11 +47,15 @@ import org.springframework.web.servlet.HandlerMapping;
@ConditionalOnProperty(name = "endpoints.metrics.filter.enabled", matchIfMissing = true)
public class MetricFilterAutoConfiguration {
@Autowired
private CounterService counterService;
private final CounterService counterService;
@Autowired
private GaugeService gaugeService;
private final GaugeService gaugeService;
public MetricFilterAutoConfiguration(CounterService counterService,
GaugeService gaugeService) {
this.counterService = counterService;
this.gaugeService = gaugeService;
}
@Bean
public MetricsFilter metricFilter() {
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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,7 +18,6 @@ package org.springframework.boot.actuate.autoconfigure;
import com.codahale.metrics.MetricRegistry;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.metrics.CounterService;
import org.springframework.boot.actuate.metrics.GaugeService;
import org.springframework.boot.actuate.metrics.buffer.BufferCounterService;
......@@ -86,9 +85,11 @@ public class MetricRepositoryAutoConfiguration {
@ConditionalOnMissingBean(GaugeService.class)
static class LegacyMetricServicesConfiguration {
@Autowired
@ActuatorMetricWriter
private MetricWriter writer;
private final MetricWriter writer;
LegacyMetricServicesConfiguration(@ActuatorMetricWriter MetricWriter writer) {
this.writer = writer;
}
@Bean
@ConditionalOnMissingBean(CounterService.class)
......
......@@ -22,7 +22,6 @@ import javax.annotation.PostConstruct;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.endpoint.AutoConfigurationReportEndpoint.Report;
import org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport;
import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
......@@ -66,8 +65,11 @@ public class AutoConfigurationReportEndpointTests
@EnableConfigurationProperties
public static class Config {
@Autowired
private ConfigurableApplicationContext context;
private final ConfigurableApplicationContext context;
public Config(ConfigurableApplicationContext context) {
this.context = context;
}
@PostConstruct
public void setupAutoConfigurationReport() {
......
......@@ -19,7 +19,6 @@ package org.springframework.boot.actuate.endpoint;
import org.flywaydb.core.Flyway;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration;
import org.springframework.context.annotation.Bean;
......@@ -48,12 +47,9 @@ public class FlywayEndpointTests extends AbstractEndpointTests<FlywayEndpoint> {
@Import({ EmbeddedDataSourceConfiguration.class, FlywayAutoConfiguration.class })
public static class Config {
@Autowired
private Flyway flyway;
@Bean
public FlywayEndpoint endpoint() {
return new FlywayEndpoint(this.flyway);
public FlywayEndpoint endpoint(Flyway flyway) {
return new FlywayEndpoint(flyway);
}
}
......
......@@ -19,7 +19,6 @@ package org.springframework.boot.actuate.endpoint;
import liquibase.integration.spring.SpringLiquibase;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration;
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
import org.springframework.context.annotation.Bean;
......@@ -49,8 +48,11 @@ public class LiquibaseEndpointTests extends AbstractEndpointTests<LiquibaseEndpo
@Import({ EmbeddedDataSourceConfiguration.class, LiquibaseAutoConfiguration.class })
public static class Config {
@Autowired
private SpringLiquibase liquibase;
private final SpringLiquibase liquibase;
public Config(SpringLiquibase liquibase) {
this.liquibase = liquibase;
}
@Bean
public LiquibaseEndpoint endpoint() {
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -132,8 +132,11 @@ public class BatchAutoConfiguration {
@Configuration
protected static class JpaBatchConfiguration {
@Autowired
private BatchProperties properties;
private final BatchProperties properties;
protected JpaBatchConfiguration(BatchProperties properties) {
this.properties = properties;
}
// The EntityManagerFactory may not be discoverable by type when this condition
// is evaluated, so we need a well-known bean name. This is the one used by Spring
......
......@@ -19,7 +19,6 @@ package org.springframework.boot.autoconfigure.cache;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ResourceCondition;
......@@ -45,11 +44,15 @@ import org.springframework.core.io.Resource;
EhCacheCacheConfiguration.ConfigAvailableCondition.class })
class EhCacheCacheConfiguration {
@Autowired
private CacheProperties cacheProperties;
private final CacheProperties cacheProperties;
@Autowired
private CacheManagerCustomizers customizers;
private final CacheManagerCustomizers customizers;
EhCacheCacheConfiguration(CacheProperties cacheProperties,
CacheManagerCustomizers customizers) {
this.cacheProperties = cacheProperties;
this.customizers = customizers;
}
@Bean
public EhCacheCacheManager cacheManager(CacheManager ehCacheCacheManager) {
......
......@@ -18,7 +18,6 @@ package org.springframework.boot.autoconfigure.cache;
import java.util.Collection;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.cache.Cache;
......@@ -41,8 +40,11 @@ import org.springframework.context.annotation.Configuration;
@Conditional(CacheCondition.class)
class GenericCacheConfiguration {
@Autowired
private CacheManagerCustomizers customizers;
private final CacheManagerCustomizers customizers;
GenericCacheConfiguration(CacheManagerCustomizers customizers) {
this.customizers = customizers;
}
@Bean
public SimpleCacheManager cacheManager(Collection<Cache> caches) {
......
......@@ -23,7 +23,6 @@ import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
import com.hazelcast.spring.cache.HazelcastCacheManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate;
import org.springframework.boot.autoconfigure.hazelcast.HazelcastConfigResourceCondition;
......@@ -45,11 +44,14 @@ abstract class HazelcastInstanceConfiguration {
@ConditionalOnSingleCandidate(HazelcastInstance.class)
static class Existing {
@Autowired
private CacheProperties cacheProperties;
private final CacheProperties cacheProperties;
@Autowired
private CacheManagerCustomizers customizers;
private final CacheManagerCustomizers customizers;
Existing(CacheProperties cacheProperties, CacheManagerCustomizers customizers) {
this.cacheProperties = cacheProperties;
this.customizers = customizers;
}
@Bean
public HazelcastCacheManager cacheManager(
......@@ -72,11 +74,14 @@ abstract class HazelcastInstanceConfiguration {
@Conditional(ConfigAvailableCondition.class)
static class Specific {
@Autowired
private CacheProperties cacheProperties;
private final CacheProperties cacheProperties;
@Autowired
private CacheManagerCustomizers customizers;
private final CacheManagerCustomizers customizers;
Specific(CacheProperties cacheProperties, CacheManagerCustomizers customizers) {
this.cacheProperties = cacheProperties;
this.customizers = customizers;
}
@Bean
public HazelcastInstance hazelcastInstance() throws IOException {
......
......@@ -18,7 +18,6 @@ package org.springframework.boot.autoconfigure.cache;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
......@@ -43,11 +42,15 @@ import org.springframework.data.redis.core.RedisTemplate;
@Conditional(CacheCondition.class)
class RedisCacheConfiguration {
@Autowired
private CacheProperties cacheProperties;
private final CacheProperties cacheProperties;
@Autowired
private CacheManagerCustomizers customizerInvoker;
private final CacheManagerCustomizers customizerInvoker;
RedisCacheConfiguration(CacheProperties cacheProperties,
CacheManagerCustomizers customizerInvoker) {
this.cacheProperties = cacheProperties;
this.customizerInvoker = customizerInvoker;
}
@Bean
public RedisCacheManager cacheManager(RedisTemplate<Object, Object> redisTemplate) {
......
......@@ -18,7 +18,6 @@ package org.springframework.boot.autoconfigure.cache;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.cache.CacheManager;
import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
......@@ -37,11 +36,15 @@ import org.springframework.context.annotation.Configuration;
@Conditional(CacheCondition.class)
class SimpleCacheConfiguration {
@Autowired
private CacheProperties cacheProperties;
private final CacheProperties cacheProperties;
@Autowired
private CacheManagerCustomizers customizerInvoker;
private final CacheManagerCustomizers customizerInvoker;
SimpleCacheConfiguration(CacheProperties cacheProperties,
CacheManagerCustomizers customizerInvoker) {
this.cacheProperties = cacheProperties;
this.customizerInvoker = customizerInvoker;
}
@Bean
public ConcurrentMapCacheManager cacheManager() {
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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,7 +24,6 @@ import com.datastax.driver.core.policies.ReconnectionPolicy;
import com.datastax.driver.core.policies.RetryPolicy;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
......@@ -45,8 +44,11 @@ import org.springframework.util.StringUtils;
@EnableConfigurationProperties(CassandraProperties.class)
public class CassandraAutoConfiguration {
@Autowired
private CassandraProperties properties;
private final CassandraProperties properties;
public CassandraAutoConfiguration(CassandraProperties properties) {
this.properties = properties;
}
@Bean
@ConditionalOnMissingBean
......
......@@ -22,7 +22,6 @@ import javax.validation.Validator;
import com.couchbase.client.java.CouchbaseBucket;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.AnyNestedCondition;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
......@@ -62,8 +61,11 @@ public class CouchbaseAutoConfiguration {
@ConditionalOnMissingBean(AbstractCouchbaseConfiguration.class)
public static class CouchbaseConfiguration extends AbstractCouchbaseConfiguration {
@Autowired
private CouchbaseProperties properties;
private final CouchbaseProperties properties;
public CouchbaseConfiguration(CouchbaseProperties properties) {
this.properties = properties;
}
@Override
protected List<String> getBootstrapHosts() {
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -19,7 +19,6 @@ package org.springframework.boot.autoconfigure.data.cassandra;
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Session;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration;
......@@ -51,11 +50,15 @@ import org.springframework.data.cassandra.mapping.CassandraMappingContext;
@AutoConfigureAfter(CassandraAutoConfiguration.class)
public class CassandraDataAutoConfiguration {
@Autowired
private CassandraProperties properties;
private final CassandraProperties properties;
@Autowired
private Cluster cluster;
private final Cluster cluster;
public CassandraDataAutoConfiguration(CassandraProperties properties,
Cluster cluster) {
this.properties = properties;
this.cluster = cluster;
}
@Bean
@ConditionalOnMissingBean
......
......@@ -31,7 +31,6 @@ import org.elasticsearch.node.Node;
import org.elasticsearch.node.NodeBuilder;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
......@@ -69,11 +68,14 @@ public class ElasticsearchAutoConfiguration implements DisposableBean {
private static final Log logger = LogFactory
.getLog(ElasticsearchAutoConfiguration.class);
@Autowired
private ElasticsearchProperties properties;
private final ElasticsearchProperties properties;
private Releasable releasable;
public ElasticsearchAutoConfiguration(ElasticsearchProperties properties) {
this.properties = properties;
}
@Bean
@ConditionalOnMissingBean
public Client elasticsearchClient() {
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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,7 +30,6 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.BeanClassLoaderAware;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.boot.autoconfigure.AutoConfigurationPackages;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
......@@ -87,17 +86,21 @@ import org.springframework.util.StringUtils;
@AutoConfigureAfter(MongoAutoConfiguration.class)
public class MongoDataAutoConfiguration implements BeanClassLoaderAware {
@Autowired
private MongoProperties properties;
private final MongoProperties properties;
@Autowired
private Environment environment;
private final Environment environment;
@Autowired
private ResourceLoader resourceLoader;
private final ResourceLoader resourceLoader;
private ClassLoader classLoader;
public MongoDataAutoConfiguration(MongoProperties properties, Environment environment,
ResourceLoader resourceLoader) {
this.properties = properties;
this.environment = environment;
this.resourceLoader = resourceLoader;
}
@Override
public void setBeanClassLoader(ClassLoader classLoader) {
this.classLoader = classLoader;
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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,7 +16,6 @@
package org.springframework.boot.autoconfigure.data.rest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.rest.core.config.RepositoryRestConfiguration;
......@@ -33,8 +32,11 @@ import org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguratio
@Configuration
class SpringBootRepositoryRestMvcConfiguration extends RepositoryRestMvcConfiguration {
@Autowired
private RepositoryRestProperties properties;
private final RepositoryRestProperties properties;
SpringBootRepositoryRestMvcConfiguration(RepositoryRestProperties properties) {
this.properties = properties;
}
@Bean
@Override
......
......@@ -66,11 +66,15 @@ public class FreeMarkerAutoConfiguration {
private static final Log logger = LogFactory
.getLog(FreeMarkerAutoConfiguration.class);
@Autowired
private ApplicationContext applicationContext;
private final ApplicationContext applicationContext;
@Autowired
private FreeMarkerProperties properties;
private final FreeMarkerProperties properties;
public FreeMarkerAutoConfiguration(ApplicationContext applicationContext,
FreeMarkerProperties properties) {
this.applicationContext = applicationContext;
this.properties = properties;
}
@PostConstruct
public void checkTemplateLocationExists() {
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -137,8 +137,11 @@ public class GroovyTemplateAutoConfiguration {
@ConditionalOnProperty(name = "spring.groovy.template.enabled", matchIfMissing = true)
public static class GroovyWebConfiguration {
@Autowired
private GroovyTemplateProperties properties;
private final GroovyTemplateProperties properties;
public GroovyWebConfiguration(GroovyTemplateProperties properties) {
this.properties = properties;
}
@Bean
@ConditionalOnMissingBean(name = "groovyMarkupViewResolver")
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -51,8 +51,11 @@ import org.springframework.security.config.annotation.web.configuration.WebSecur
@AutoConfigureAfter(SecurityAutoConfiguration.class)
public class H2ConsoleAutoConfiguration {
@Autowired
private H2ConsoleProperties properties;
private final H2ConsoleProperties properties;
public H2ConsoleAutoConfiguration(H2ConsoleProperties properties) {
this.properties = properties;
}
@Bean
public ServletRegistrationBean h2Console() {
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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,7 +22,6 @@ import com.hazelcast.config.Config;
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
......@@ -53,8 +52,11 @@ public class HazelcastAutoConfiguration {
@Conditional(ConfigAvailableCondition.class)
static class HazelcastConfigFileConfiguration {
@Autowired
private HazelcastProperties hazelcastProperties;
private final HazelcastProperties hazelcastProperties;
HazelcastConfigFileConfiguration(HazelcastProperties hazelcastProperties) {
this.hazelcastProperties = hazelcastProperties;
}
@Bean
public HazelcastInstance hazelcastInstance() throws IOException {
......
......@@ -41,7 +41,6 @@ import org.joda.time.format.DateTimeFormat;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.BeanFactoryUtils;
import org.springframework.beans.factory.ListableBeanFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnJava;
import org.springframework.boot.autoconfigure.condition.ConditionalOnJava.JavaVersion;
......@@ -97,8 +96,11 @@ public class JacksonAutoConfiguration {
private static final Log logger = LogFactory
.getLog(JodaDateTimeJacksonConfiguration.class);
@Autowired
private JacksonProperties jacksonProperties;
private final JacksonProperties jacksonProperties;
JodaDateTimeJacksonConfiguration(JacksonProperties jacksonProperties) {
this.jacksonProperties = jacksonProperties;
}
@Bean
public SimpleModule jodaDateTimeSerializationModule() {
......@@ -155,11 +157,15 @@ public class JacksonAutoConfiguration {
@EnableConfigurationProperties(JacksonProperties.class)
static class JacksonObjectMapperBuilderConfiguration {
@Autowired
private ApplicationContext applicationContext;
private final ApplicationContext applicationContext;
@Autowired
private JacksonProperties jacksonProperties;
private final JacksonProperties jacksonProperties;
JacksonObjectMapperBuilderConfiguration(ApplicationContext applicationContext,
JacksonProperties jacksonProperties) {
this.applicationContext = applicationContext;
this.jacksonProperties = jacksonProperties;
}
@Bean
@ConditionalOnMissingBean(Jackson2ObjectMapperBuilder.class)
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -19,7 +19,6 @@ package org.springframework.boot.autoconfigure.jdbc;
import javax.annotation.PreDestroy;
import org.springframework.beans.factory.BeanClassLoaderAware;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
......@@ -41,8 +40,11 @@ public class EmbeddedDataSourceConfiguration implements BeanClassLoaderAware {
private ClassLoader classLoader;
@Autowired
private DataSourceProperties properties;
private final DataSourceProperties properties;
public EmbeddedDataSourceConfiguration(DataSourceProperties properties) {
this.properties = properties;
}
@Override
public void setBeanClassLoader(ClassLoader classLoader) {
......
......@@ -19,7 +19,6 @@ package org.springframework.boot.autoconfigure.jdbc;
import javax.sql.DataSource;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
......@@ -50,8 +49,11 @@ import org.springframework.jmx.support.JmxUtils;
@EnableConfigurationProperties(DataSourceProperties.class)
public class JndiDataSourceAutoConfiguration {
@Autowired
private ApplicationContext context;
private final ApplicationContext context;
public JndiDataSourceAutoConfiguration(ApplicationContext context) {
this.context = context;
}
@Bean(destroyMethod = "")
@ConditionalOnMissingBean
......
/*
* Copyright 2012-2014 the original author or authors.
* Copyright 2012-2016 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.
......@@ -21,7 +21,6 @@ import java.util.Arrays;
import javax.jms.ConnectionFactory;
import javax.naming.NamingException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.AnyNestedCondition;
......@@ -56,8 +55,11 @@ public class JndiConnectionFactoryAutoConfiguration {
private static String[] JNDI_LOCATIONS = { "java:/JmsXA",
"java:/XAConnectionFactory" };
@Autowired
private JmsProperties properties;
private final JmsProperties properties;
public JndiConnectionFactoryAutoConfiguration(JmsProperties properties) {
this.properties = properties;
}
@Bean
public ConnectionFactory connectionFactory() throws NamingException {
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -23,7 +23,6 @@ import javax.sql.DataSource;
import liquibase.integration.spring.SpringLiquibase;
import liquibase.servicelocator.ServiceLocator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
......@@ -39,7 +38,6 @@ import org.springframework.boot.liquibase.CommonsLoggingLiquibaseLogger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.core.io.DefaultResourceLoader;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.orm.jpa.AbstractEntityManagerFactoryBean;
......@@ -68,14 +66,18 @@ public class LiquibaseAutoConfiguration {
@Import(LiquibaseJpaDependencyConfiguration.class)
public static class LiquibaseConfiguration {
@Autowired
private LiquibaseProperties properties = new LiquibaseProperties();
private final LiquibaseProperties properties;
@Autowired
private ResourceLoader resourceLoader = new DefaultResourceLoader();
private final ResourceLoader resourceLoader;
@Autowired
private DataSource dataSource;
private final DataSource dataSource;
public LiquibaseConfiguration(LiquibaseProperties properties,
ResourceLoader resourceLoader, DataSource dataSource) {
this.properties = properties;
this.resourceLoader = resourceLoader;
this.dataSource = dataSource;
}
@PostConstruct
public void checkChangelogExists() {
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -19,7 +19,6 @@ package org.springframework.boot.autoconfigure.mail;
import javax.mail.Session;
import javax.naming.NamingException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnJndi;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
......@@ -40,8 +39,11 @@ import org.springframework.jndi.JndiLocatorDelegate;
@ConditionalOnJndi
class JndiSessionConfiguration {
@Autowired
private MailProperties properties;
private final MailProperties properties;
JndiSessionConfiguration(MailProperties properties) {
this.properties = properties;
}
@Bean
@ConditionalOnMissingBean
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -19,7 +19,6 @@ package org.springframework.boot.autoconfigure.mail;
import javax.annotation.PostConstruct;
import javax.mail.MessagingException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
......@@ -41,8 +40,11 @@ import org.springframework.mail.javamail.JavaMailSenderImpl;
@ConditionalOnSingleCandidate(JavaMailSenderImpl.class)
public class MailSenderValidatorAutoConfiguration {
@Autowired
private JavaMailSenderImpl mailSender;
private final JavaMailSenderImpl mailSender;
public MailSenderValidatorAutoConfiguration(JavaMailSenderImpl mailSender) {
this.mailSender = mailSender;
}
@PostConstruct
public void validateConnection() {
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -98,8 +98,12 @@ public class DeviceDelegatingViewResolverAutoConfiguration {
protected static class ThymeleafViewResolverViewResolverDelegateConfiguration
extends AbstractDelegateConfiguration {
@Autowired
private ThymeleafViewResolver viewResolver;
private final ThymeleafViewResolver viewResolver;
protected ThymeleafViewResolverViewResolverDelegateConfiguration(
ThymeleafViewResolver viewResolver) {
this.viewResolver = viewResolver;
}
@Bean
public LiteDeviceDelegatingViewResolver deviceDelegatingViewResolver() {
......@@ -120,8 +124,12 @@ public class DeviceDelegatingViewResolverAutoConfiguration {
protected static class InternalResourceViewResolverDelegateConfiguration
extends AbstractDelegateConfiguration {
@Autowired
private InternalResourceViewResolver viewResolver;
private final InternalResourceViewResolver viewResolver;
protected InternalResourceViewResolverDelegateConfiguration(
InternalResourceViewResolver viewResolver) {
this.viewResolver = viewResolver;
}
@Bean
public LiteDeviceDelegatingViewResolver deviceDelegatingViewResolver() {
......
/*
* Copyright 2012-2014 the original author or authors.
* Copyright 2012-2016 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,7 +18,6 @@ package org.springframework.boot.autoconfigure.mobile;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
......@@ -45,26 +44,34 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
@ConditionalOnClass({ DeviceResolverHandlerInterceptor.class,
DeviceHandlerMethodArgumentResolver.class })
@AutoConfigureAfter(WebMvcAutoConfiguration.class)
@ConditionalOnWebApplication
public class DeviceResolverAutoConfiguration {
@Bean
@ConditionalOnMissingBean(DeviceResolverHandlerInterceptor.class)
public DeviceResolverHandlerInterceptor deviceResolverHandlerInterceptor() {
return new DeviceResolverHandlerInterceptor();
}
@Bean
public DeviceHandlerMethodArgumentResolver deviceHandlerMethodArgumentResolver() {
return new DeviceHandlerMethodArgumentResolver();
}
@Configuration
@ConditionalOnWebApplication
@Order(0)
protected static class DeviceResolverMvcConfiguration
extends WebMvcConfigurerAdapter {
@Autowired
private DeviceResolverHandlerInterceptor deviceResolverHandlerInterceptor;
@Bean
@ConditionalOnMissingBean(DeviceResolverHandlerInterceptor.class)
public DeviceResolverHandlerInterceptor deviceResolverHandlerInterceptor() {
return new DeviceResolverHandlerInterceptor();
}
private DeviceHandlerMethodArgumentResolver deviceHandlerMethodArgumentResolver;
@Bean
public DeviceHandlerMethodArgumentResolver deviceHandlerMethodArgumentResolver() {
return new DeviceHandlerMethodArgumentResolver();
protected DeviceResolverMvcConfiguration(
DeviceResolverHandlerInterceptor deviceResolverHandlerInterceptor,
DeviceHandlerMethodArgumentResolver deviceHandlerMethodArgumentResolver) {
this.deviceResolverHandlerInterceptor = deviceResolverHandlerInterceptor;
this.deviceHandlerMethodArgumentResolver = deviceHandlerMethodArgumentResolver;
}
@Override
......@@ -75,7 +82,7 @@ public class DeviceResolverAutoConfiguration {
@Override
public void addArgumentResolvers(
List<HandlerMethodArgumentResolver> argumentResolvers) {
argumentResolvers.add(deviceHandlerMethodArgumentResolver());
argumentResolvers.add(this.deviceHandlerMethodArgumentResolver);
}
}
......
/*
* Copyright 2012-2014 the original author or authors.
* Copyright 2012-2016 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,7 +18,6 @@ package org.springframework.boot.autoconfigure.mobile;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
......@@ -48,25 +47,33 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
SitePreferenceHandlerMethodArgumentResolver.class })
@AutoConfigureAfter(DeviceResolverAutoConfiguration.class)
@ConditionalOnProperty(prefix = "spring.mobile.sitepreference", name = "enabled", havingValue = "true", matchIfMissing = true)
@ConditionalOnWebApplication
public class SitePreferenceAutoConfiguration {
@Bean
@ConditionalOnMissingBean(SitePreferenceHandlerInterceptor.class)
public SitePreferenceHandlerInterceptor sitePreferenceHandlerInterceptor() {
return new SitePreferenceHandlerInterceptor();
}
@Bean
public SitePreferenceHandlerMethodArgumentResolver sitePreferenceHandlerMethodArgumentResolver() {
return new SitePreferenceHandlerMethodArgumentResolver();
}
@Configuration
@ConditionalOnWebApplication
protected static class SitePreferenceMvcConfiguration
extends WebMvcConfigurerAdapter {
@Autowired
private SitePreferenceHandlerInterceptor sitePreferenceHandlerInterceptor;
private final SitePreferenceHandlerInterceptor sitePreferenceHandlerInterceptor;
@Bean
@ConditionalOnMissingBean(SitePreferenceHandlerInterceptor.class)
public SitePreferenceHandlerInterceptor sitePreferenceHandlerInterceptor() {
return new SitePreferenceHandlerInterceptor();
}
private final SitePreferenceHandlerMethodArgumentResolver sitePreferenceHandlerMethodArgumentResolver;
@Bean
public SitePreferenceHandlerMethodArgumentResolver sitePreferenceHandlerMethodArgumentResolver() {
return new SitePreferenceHandlerMethodArgumentResolver();
protected SitePreferenceMvcConfiguration(
SitePreferenceHandlerInterceptor sitePreferenceHandlerInterceptor,
org.springframework.mobile.device.site.SitePreferenceHandlerMethodArgumentResolver sitePreferenceHandlerMethodArgumentResolver) {
this.sitePreferenceHandlerInterceptor = sitePreferenceHandlerInterceptor;
this.sitePreferenceHandlerMethodArgumentResolver = sitePreferenceHandlerMethodArgumentResolver;
}
@Override
......@@ -77,7 +84,7 @@ public class SitePreferenceAutoConfiguration {
@Override
public void addArgumentResolvers(
List<HandlerMethodArgumentResolver> argumentResolvers) {
argumentResolvers.add(sitePreferenceHandlerMethodArgumentResolver());
argumentResolvers.add(this.sitePreferenceHandlerMethodArgumentResolver);
}
}
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -25,7 +25,6 @@ import com.samskivert.mustache.Mustache.TemplateLoader;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
......@@ -52,14 +51,18 @@ public class MustacheAutoConfiguration {
private static final Log logger = LogFactory.getLog(MustacheAutoConfiguration.class);
@Autowired
private MustacheProperties mustache;
private final MustacheProperties mustache;
@Autowired
private Environment environment;
private final Environment environment;
@Autowired
private ApplicationContext applicationContext;
private final ApplicationContext applicationContext;
public MustacheAutoConfiguration(MustacheProperties mustache, Environment environment,
ApplicationContext applicationContext) {
this.mustache = mustache;
this.environment = environment;
this.applicationContext = applicationContext;
}
@PostConstruct
public void checkTemplateLocationExists() {
......@@ -100,8 +103,11 @@ public class MustacheAutoConfiguration {
@ConditionalOnWebApplication
protected static class MustacheWebConfiguration {
@Autowired
private MustacheProperties mustache;
private final MustacheProperties mustache;
protected MustacheWebConfiguration(MustacheProperties mustache) {
this.mustache = mustache;
}
@Bean
@ConditionalOnMissingBean(MustacheViewResolver.class)
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -25,7 +25,6 @@ import javax.sql.DataSource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
......@@ -82,11 +81,15 @@ public class HibernateJpaAutoConfiguration extends JpaBaseConfiguration {
"org.hibernate.engine.transaction.jta.platform.internal.WebSphereExtendedJtaPlatform",
"org.hibernate.service.jta.platform.internal.WebSphereExtendedJtaPlatform", };
@Autowired
private JpaProperties properties;
private final JpaProperties properties;
@Autowired
private DataSource dataSource;
private final DataSource dataSource;
public HibernateJpaAutoConfiguration(JpaProperties properties,
DataSource dataSource) {
this.properties = properties;
this.dataSource = dataSource;
}
@Override
protected AbstractJpaVendorAdapter createJpaVendorAdapter() {
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -191,9 +191,12 @@ public class SpringBootWebSecurityConfiguration {
protected static class ApplicationWebSecurityConfigurerAdapter
extends WebSecurityConfigurerAdapter {
@Autowired
private SecurityProperties security;
protected ApplicationWebSecurityConfigurerAdapter(SecurityProperties security) {
this.security = security;
}
@Override
protected void configure(HttpSecurity http) throws Exception {
if (this.security.isRequireSsl()) {
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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,7 +16,6 @@
package org.springframework.boot.autoconfigure.security.oauth2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
......@@ -49,8 +48,11 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
@EnableConfigurationProperties(OAuth2ClientProperties.class)
public class OAuth2AutoConfiguration {
@Autowired
private OAuth2ClientProperties credentials;
private final OAuth2ClientProperties credentials;
public OAuth2AutoConfiguration(OAuth2ClientProperties credentials) {
this.credentials = credentials;
}
@Bean
public ResourceServerProperties resourceServerProperties() {
......
......@@ -139,8 +139,11 @@ public class OAuth2AuthorizationServerConfiguration
@Configuration
protected static class ClientDetailsLogger {
@Autowired
private OAuth2ClientProperties credentials;
private final OAuth2ClientProperties credentials;
protected ClientDetailsLogger(OAuth2ClientProperties credentials) {
this.credentials = credentials;
}
@PostConstruct
public void init() {
......@@ -158,8 +161,11 @@ public class OAuth2AuthorizationServerConfiguration
@ConditionalOnMissingBean(BaseClientDetails.class)
protected static class BaseClientDetailsConfiguration {
@Autowired
private OAuth2ClientProperties client;
private final OAuth2ClientProperties client;
protected BaseClientDetailsConfiguration(OAuth2ClientProperties client) {
this.client = client;
}
@Bean
@ConfigurationProperties("security.oauth2.client")
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -17,7 +17,6 @@
package org.springframework.boot.autoconfigure.security.oauth2.client;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
import org.springframework.boot.autoconfigure.condition.SpringBootCondition;
import org.springframework.boot.autoconfigure.security.SecurityProperties;
......@@ -45,11 +44,15 @@ import org.springframework.util.ClassUtils;
public class OAuth2SsoDefaultConfiguration extends WebSecurityConfigurerAdapter
implements Ordered {
@Autowired
BeanFactory beanFactory;
private final BeanFactory beanFactory;
@Autowired
OAuth2SsoProperties sso;
private final OAuth2SsoProperties sso;
public OAuth2SsoDefaultConfiguration(BeanFactory beanFactory,
OAuth2SsoProperties sso) {
this.beanFactory = beanFactory;
this.sso = sso;
}
@Override
protected void configure(HttpSecurity http) throws Exception {
......
......@@ -17,7 +17,6 @@
package org.springframework.boot.autoconfigure.security.oauth2.resource;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
......@@ -64,8 +63,11 @@ import org.springframework.util.StringUtils;
@Import(ResourceServerTokenServicesConfiguration.class)
public class OAuth2ResourceServerConfiguration {
@Autowired
private ResourceServerProperties resource;
private final ResourceServerProperties resource;
public OAuth2ResourceServerConfiguration(ResourceServerProperties resource) {
this.resource = resource;
}
@Bean
@ConditionalOnMissingBean(ResourceServerConfigurer.class)
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -142,8 +142,11 @@ public class ResourceServerTokenServicesConfiguration {
@Conditional(TokenInfoCondition.class)
protected static class TokenInfoServicesConfiguration {
@Autowired
private ResourceServerProperties resource;
private final ResourceServerProperties resource;
protected TokenInfoServicesConfiguration(ResourceServerProperties resource) {
this.resource = resource;
}
@Bean
public RemoteTokenServices remoteTokenServices() {
......
......@@ -20,7 +20,6 @@ import com.sendgrid.SendGrid;
import org.apache.http.HttpHost;
import org.apache.http.impl.client.HttpClientBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.AnyNestedCondition;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
......@@ -44,8 +43,11 @@ import org.springframework.context.annotation.Configuration;
@EnableConfigurationProperties(SendGridProperties.class)
public class SendGridAutoConfiguration {
@Autowired
private SendGridProperties properties;
private final SendGridProperties properties;
public SendGridAutoConfiguration(SendGridProperties properties) {
this.properties = properties;
}
@Bean
@ConditionalOnMissingBean(SendGrid.class)
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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,6 @@
package org.springframework.boot.autoconfigure.session;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
......@@ -55,14 +52,18 @@ public class SessionAutoConfiguration {
@Configuration
public static class SessionRedisHttpConfiguration {
@Autowired
private ServerProperties serverProperties;
private final ServerProperties serverProperties;
private final RedisOperationsSessionRepository sessionRepository;
@Autowired
private RedisOperationsSessionRepository sessionRepository;
public SessionRedisHttpConfiguration(ServerProperties serverProperties,
RedisOperationsSessionRepository sessionRepository) {
this.serverProperties = serverProperties;
this.sessionRepository = sessionRepository;
applyConfigurationProperties();
}
@PostConstruct
public void applyConfigurationProperties() {
private void applyConfigurationProperties() {
Integer timeout = this.serverProperties.getSession().getTimeout();
if (timeout != null) {
this.sessionRepository.setDefaultMaxInactiveInterval(timeout);
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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,7 +16,6 @@
package org.springframework.boot.autoconfigure.social;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
......@@ -59,8 +58,11 @@ public class FacebookAutoConfiguration {
@ConditionalOnWebApplication
protected static class FacebookConfigurerAdapter extends SocialAutoConfigurerAdapter {
@Autowired
private FacebookProperties properties;
private final FacebookProperties properties;
protected FacebookConfigurerAdapter(FacebookProperties properties) {
this.properties = properties;
}
@Bean
@ConditionalOnMissingBean(Facebook.class)
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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,7 +16,6 @@
package org.springframework.boot.autoconfigure.social;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
......@@ -59,8 +58,11 @@ public class LinkedInAutoConfiguration {
@ConditionalOnWebApplication
protected static class LinkedInConfigurerAdapter extends SocialAutoConfigurerAdapter {
@Autowired
private LinkedInProperties properties;
private final LinkedInProperties properties;
protected LinkedInConfigurerAdapter(LinkedInProperties properties) {
this.properties = properties;
}
@Bean
@ConditionalOnMissingBean(LinkedIn.class)
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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,7 +16,6 @@
package org.springframework.boot.autoconfigure.social;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
......@@ -60,8 +59,11 @@ public class TwitterAutoConfiguration {
@ConditionalOnWebApplication
protected static class TwitterConfigurerAdapter extends SocialAutoConfigurerAdapter {
@Autowired
private TwitterProperties properties;
private final TwitterProperties properties;
protected TwitterConfigurerAdapter(TwitterProperties properties) {
this.properties = properties;
}
@Bean
@ConditionalOnMissingBean
......
......@@ -24,7 +24,6 @@ import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
......@@ -44,11 +43,14 @@ import org.springframework.util.StringUtils;
@EnableConfigurationProperties(SolrProperties.class)
public class SolrAutoConfiguration {
@Autowired
private SolrProperties properties;
private final SolrProperties properties;
private SolrClient solrClient;
public SolrAutoConfiguration(SolrProperties properties) {
this.properties = properties;
}
@PreDestroy
public void close() throws IOException {
if (this.solrClient != null) {
......
......@@ -212,11 +212,15 @@ public class ThymeleafAutoConfiguration {
@ConditionalOnWebApplication
protected static class ThymeleafViewResolverConfiguration {
@Autowired
private ThymeleafProperties properties;
private final ThymeleafProperties properties;
@Autowired
private SpringTemplateEngine templateEngine;
private final SpringTemplateEngine templateEngine;
protected ThymeleafViewResolverConfiguration(ThymeleafProperties properties,
SpringTemplateEngine templateEngine) {
this.properties = properties;
this.templateEngine = templateEngine;
}
@Bean
@ConditionalOnMissingBean(name = "thymeleafViewResolver")
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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,7 +16,6 @@
package org.springframework.boot.autoconfigure.transaction;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
......@@ -43,8 +42,11 @@ import org.springframework.transaction.support.TransactionTemplate;
DataSourceTransactionManagerAutoConfiguration.class })
public class TransactionAutoConfiguration {
@Autowired
private PlatformTransactionManager transactionManager;
private final PlatformTransactionManager transactionManager;
public TransactionAutoConfiguration(PlatformTransactionManager transactionManager) {
this.transactionManager = transactionManager;
}
@Bean
@ConditionalOnMissingBean
......
......@@ -27,7 +27,6 @@ import com.atomikos.icatch.config.UserTransactionService;
import com.atomikos.icatch.config.UserTransactionServiceImp;
import com.atomikos.icatch.jta.UserTransactionManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationHome;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
......@@ -59,8 +58,11 @@ import org.springframework.util.StringUtils;
@ConditionalOnMissingBean(PlatformTransactionManager.class)
class AtomikosJtaConfiguration {
@Autowired
private JtaProperties jtaProperties;
private final JtaProperties jtaProperties;
AtomikosJtaConfiguration(JtaProperties jtaProperties) {
this.jtaProperties = jtaProperties;
}
@Bean(initMethod = "init", destroyMethod = "shutdownForce")
@ConditionalOnMissingBean(UserTransactionService.class)
......
......@@ -25,7 +25,6 @@ import bitronix.tm.BitronixTransactionManager;
import bitronix.tm.TransactionManagerServices;
import bitronix.tm.jndi.BitronixContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationHome;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
......@@ -54,8 +53,11 @@ import org.springframework.util.StringUtils;
@ConditionalOnMissingBean(PlatformTransactionManager.class)
class BitronixJtaConfiguration {
@Autowired
private JtaProperties jtaProperties;
private final JtaProperties jtaProperties;
BitronixJtaConfiguration(JtaProperties jtaProperties) {
this.jtaProperties = jtaProperties;
}
@Bean
@ConditionalOnMissingBean
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -64,11 +64,15 @@ public class VelocityAutoConfiguration {
private static final Log logger = LogFactory.getLog(VelocityAutoConfiguration.class);
@Autowired
private ApplicationContext applicationContext;
private final ApplicationContext applicationContext;
@Autowired
private VelocityProperties properties;
private final VelocityProperties properties;
public VelocityAutoConfiguration(ApplicationContext applicationContext,
VelocityProperties properties) {
this.applicationContext = applicationContext;
this.properties = properties;
}
@PostConstruct
public void checkTemplateLocationExists() {
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -27,7 +27,6 @@ import javax.servlet.http.HttpServletResponse;
import org.springframework.aop.framework.autoproxy.AutoProxyUtils;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
......@@ -77,8 +76,11 @@ import org.springframework.web.util.HtmlUtils;
@Configuration
public class ErrorMvcAutoConfiguration {
@Autowired
private ServerProperties properties;
private final ServerProperties properties;
public ErrorMvcAutoConfiguration(ServerProperties properties) {
this.properties = properties;
}
@Bean
@ConditionalOnMissingBean(value = ErrorAttributes.class, search = SearchStrategy.CURRENT)
......
/*
* Copyright 2012-2014 the original author or authors.
* Copyright 2012-2016 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,7 +16,6 @@
package org.springframework.boot.autoconfigure.web;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
......@@ -40,8 +39,11 @@ import org.springframework.web.filter.CharacterEncodingFilter;
@ConditionalOnProperty(prefix = "spring.http.encoding", value = "enabled", matchIfMissing = true)
public class HttpEncodingAutoConfiguration {
@Autowired
private HttpEncodingProperties httpEncodingProperties;
private final HttpEncodingProperties httpEncodingProperties;
public HttpEncodingAutoConfiguration(HttpEncodingProperties httpEncodingProperties) {
this.httpEncodingProperties = httpEncodingProperties;
}
@Bean
@ConditionalOnMissingBean(CharacterEncodingFilter.class)
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -68,8 +68,12 @@ public class HttpMessageConvertersAutoConfiguration {
@EnableConfigurationProperties(HttpEncodingProperties.class)
protected static class StringHttpMessageConverterConfiguration {
@Autowired
private HttpEncodingProperties encodingProperties;
private final HttpEncodingProperties encodingProperties;
protected StringHttpMessageConverterConfiguration(
HttpEncodingProperties encodingProperties) {
this.encodingProperties = encodingProperties;
}
@Bean
@ConditionalOnMissingBean
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -19,7 +19,6 @@ package org.springframework.boot.autoconfigure.web;
import javax.servlet.MultipartConfigElement;
import javax.servlet.Servlet;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
......@@ -52,8 +51,11 @@ import org.springframework.web.servlet.DispatcherServlet;
@EnableConfigurationProperties(MultipartProperties.class)
public class MultipartAutoConfiguration {
@Autowired
private MultipartProperties multipartProperties = new MultipartProperties();
private final MultipartProperties multipartProperties;
public MultipartAutoConfiguration(MultipartProperties multipartProperties) {
this.multipartProperties = multipartProperties;
}
@Bean
@ConditionalOnMissingBean
......
......@@ -296,8 +296,11 @@ public class WebMvcAutoConfiguration {
@ConditionalOnProperty(value = "spring.mvc.favicon.enabled", matchIfMissing = true)
public static class FaviconConfiguration {
@Autowired
private ResourceProperties resourceProperties = new ResourceProperties();
private final ResourceProperties resourceProperties;
public FaviconConfiguration(ResourceProperties resourceProperties) {
this.resourceProperties = resourceProperties;
}
@Bean
public SimpleUrlHandlerMapping faviconHandlerMapping() {
......
......@@ -20,7 +20,6 @@ import java.util.List;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
......@@ -58,8 +57,11 @@ public class WebSocketMessagingAutoConfiguration {
static class WebSocketMessageConverterConfiguration
extends AbstractWebSocketMessageBrokerConfigurer {
@Autowired
private ObjectMapper objectMapper;
private final ObjectMapper objectMapper;
WebSocketMessageConverterConfiguration(ObjectMapper objectMapper) {
this.objectMapper = objectMapper;
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
......
......@@ -36,6 +36,10 @@ import static org.mockito.Mockito.mock;
public class CouchbaseTestConfiguration
extends CouchbaseAutoConfiguration.CouchbaseConfiguration {
public CouchbaseTestConfiguration(CouchbaseProperties properties) {
super(properties);
}
@Override
public Cluster couchbaseCluster() throws Exception {
return mock(CouchbaseCluster.class);
......
......@@ -33,7 +33,6 @@ import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration;
......@@ -266,8 +265,11 @@ public class FlywayAutoConfigurationTests {
@Configuration
protected static class CustomFlywayWithJpaConfiguration {
@Autowired
private DataSource dataSource;
private final DataSource dataSource;
protected CustomFlywayWithJpaConfiguration(DataSource dataSource) {
this.dataSource = dataSource;
}
@Bean
public Flyway flyway() {
......
......@@ -30,7 +30,6 @@ import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration;
import org.springframework.boot.autoconfigure.TestAutoConfigurationPackage;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
......@@ -291,8 +290,11 @@ public abstract class AbstractJpaAutoConfigurationTests {
@TestAutoConfigurationPackage(AbstractJpaAutoConfigurationTests.class)
public static class TestConfigurationWithCustomPersistenceUnitManager {
@Autowired
private DataSource dataSource;
private final DataSource dataSource;
public TestConfigurationWithCustomPersistenceUnitManager(DataSource dataSource) {
this.dataSource = dataSource;
}
@Bean
public PersistenceUnitManager persistenceUnitManager() {
......
......@@ -32,7 +32,6 @@ import org.springframework.beans.factory.BeanCreationException;
import org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration;
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
import org.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration;
import org.springframework.boot.autoconfigure.transaction.jta.JtaProperties;
import org.springframework.boot.orm.jpa.hibernate.SpringJtaPlatform;
import org.springframework.boot.test.EnvironmentTestUtils;
import org.springframework.jdbc.core.JdbcTemplate;
......@@ -133,7 +132,7 @@ public class HibernateJpaAutoConfigurationTests
@Test
public void defaultJtaPlatform() throws Exception {
this.context.register(JtaProperties.class, JtaAutoConfiguration.class);
this.context.register(JtaAutoConfiguration.class);
setupTestConfiguration();
this.context.refresh();
Map<String, Object> jpaPropertyMap = this.context
......@@ -148,7 +147,7 @@ public class HibernateJpaAutoConfigurationTests
EnvironmentTestUtils.addEnvironment(this.context,
"spring.jpa.properties.hibernate.transaction.jta.platform:"
+ TestJtaPlatform.class.getName());
this.context.register(JtaProperties.class, JtaAutoConfiguration.class);
this.context.register(JtaAutoConfiguration.class);
setupTestConfiguration();
this.context.refresh();
Map<String, Object> jpaPropertyMap = this.context
......
......@@ -23,7 +23,6 @@ import javax.servlet.DispatcherType;
import org.junit.After;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration;
import org.springframework.boot.autoconfigure.TestAutoConfigurationPackage;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
......@@ -442,8 +441,11 @@ public class SecurityAutoConfigurationTests {
@Configuration
protected static class SecurityCustomizer extends WebSecurityConfigurerAdapter {
@Autowired
AuthenticationManager authenticationManager;
final AuthenticationManager authenticationManager;
protected SecurityCustomizer(AuthenticationManager authenticationManager) {
this.authenticationManager = authenticationManager;
}
}
......@@ -451,12 +453,15 @@ public class SecurityAutoConfigurationTests {
protected static class WorkaroundSecurityCustomizer
extends WebSecurityConfigurerAdapter {
@Autowired
private AuthenticationManagerBuilder builder;
private final AuthenticationManagerBuilder builder;
@SuppressWarnings("unused")
private AuthenticationManager authenticationManager;
protected WorkaroundSecurityCustomizer(AuthenticationManagerBuilder builder) {
this.builder = builder;
}
@Override
protected void configure(HttpSecurity http) throws Exception {
this.authenticationManager = new AuthenticationManager() {
......
......@@ -245,6 +245,8 @@ public class SpringBootWebSecurityConfigurationTests {
protected static class TestInjectWebConfiguration
extends WebSecurityConfigurerAdapter {
private final AuthenticationManagerBuilder auth;
// It's a bad idea to inject an AuthenticationManager into a
// WebSecurityConfigurerAdapter because it can cascade early instantiation,
// unless you explicitly want the Boot default AuthenticationManager. It's
......@@ -252,8 +254,9 @@ public class SpringBootWebSecurityConfigurationTests {
// might even be necessary to wrap the builder in a lazy AuthenticationManager
// (that calls getOrBuild() only when the AuthenticationManager is actually
// called).
@Autowired
private AuthenticationManagerBuilder auth;
protected TestInjectWebConfiguration(AuthenticationManagerBuilder auth) {
this.auth = auth;
}
@Override
public void init(WebSecurity web) throws Exception {
......
......@@ -469,8 +469,11 @@ public class OAuth2AutoConfigurationTests {
@EnableResourceServer
protected static class CustomResourceServer extends ResourceServerConfigurerAdapter {
@Autowired
private ResourceServerProperties config;
private final ResourceServerProperties config;
protected CustomResourceServer(ResourceServerProperties config) {
this.config = config;
}
@Override
public void configure(ResourceServerSecurityConfigurer resources)
......@@ -493,8 +496,11 @@ public class OAuth2AutoConfigurationTests {
protected static class CustomAuthorizationServer
extends AuthorizationServerConfigurerAdapter {
@Autowired
private AuthenticationManager authenticationManager;
private final AuthenticationManager authenticationManager;
protected CustomAuthorizationServer(AuthenticationManager authenticationManager) {
this.authenticationManager = authenticationManager;
}
@Bean
public TokenStore tokenStore() {
......
......@@ -23,7 +23,6 @@ import java.util.Map;
import org.junit.After;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration;
......@@ -242,9 +241,12 @@ public class ResourceServerTokenServicesConfigurationTests {
@Configuration
protected static class ResourceServerPropertiesConfiguration {
@Autowired
private OAuth2ClientProperties credentials;
public ResourceServerPropertiesConfiguration(OAuth2ClientProperties credentials) {
this.credentials = credentials;
}
@Bean
public ResourceServerProperties resourceServerProperties() {
return new ResourceServerProperties(this.credentials.getClientId(),
......
......@@ -16,7 +16,6 @@
package org.springframework.boot.autoconfigure.security.user;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.orm.jpa.EntityScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
......@@ -30,8 +29,11 @@ import org.springframework.security.config.annotation.method.configuration.Enabl
@EnableJpaRepositories(basePackageClasses = User.class)
public class SecurityConfig extends GlobalAuthenticationConfigurerAdapter {
@Autowired
protected UserRepository userRepository;
protected final UserRepository userRepository;
public SecurityConfig(UserRepository userRepository) {
this.userRepository = userRepository;
}
@Override
public void init(AuthenticationManagerBuilder auth) throws Exception {
......
......@@ -124,8 +124,8 @@ public class WebSocketMessagingAutoConfigurationTests {
private List<MessageConverter> getCustomizedConverters() {
List<MessageConverter> customizedConverters = new ArrayList<MessageConverter>();
WebSocketMessagingAutoConfiguration.WebSocketMessageConverterConfiguration configuration = new WebSocketMessagingAutoConfiguration.WebSocketMessageConverterConfiguration();
ReflectionTestUtils.setField(configuration, "objectMapper", new ObjectMapper());
WebSocketMessagingAutoConfiguration.WebSocketMessageConverterConfiguration configuration = new WebSocketMessagingAutoConfiguration.WebSocketMessageConverterConfiguration(
new ObjectMapper());
configuration.configureMessageConverters(customizedConverters);
return customizedConverters;
}
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -74,11 +74,15 @@ public class RemoteDevToolsAutoConfiguration {
private static final Log logger = LogFactory
.getLog(RemoteDevToolsAutoConfiguration.class);
@Autowired
private DevToolsProperties properties;
private final DevToolsProperties properties;
@Autowired
private ServerProperties serverProperties;
private final ServerProperties serverProperties;
public RemoteDevToolsAutoConfiguration(DevToolsProperties properties,
ServerProperties serverProperties) {
this.properties = properties;
this.serverProperties = serverProperties;
}
@Bean
@ConditionalOnMissingBean
......
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2016 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.
......@@ -80,12 +80,15 @@ public class RemoteClientConfiguration {
private static final Log logger = LogFactory.getLog(RemoteClientConfiguration.class);
@Autowired
private DevToolsProperties properties;
private final DevToolsProperties properties;
@Value("${remoteUrl}")
private String remoteUrl;
public RemoteClientConfiguration(DevToolsProperties properties) {
this.properties = properties;
}
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
......
......@@ -28,7 +28,6 @@ import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.junit.rules.TemporaryFolder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.devtools.filewatch.ChangedFile;
import org.springframework.boot.devtools.filewatch.FileSystemWatcher;
import org.springframework.boot.devtools.filewatch.FileSystemWatcherFactory;
......@@ -92,8 +91,11 @@ public class ClassPathFileSystemWatcherTests {
@Configuration
public static class Config {
@Autowired
public Environment environment;
public final Environment environment;
public Config(Environment environment) {
this.environment = environment;
}
@Bean
public ClassPathFileSystemWatcher watcher() {
......
......@@ -16,7 +16,6 @@
package sample.metrics.redis;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.endpoint.MetricReaderPublicMetrics;
import org.springframework.boot.actuate.endpoint.PublicMetrics;
import org.springframework.boot.actuate.metrics.aggregate.AggregateMetricReader;
......@@ -30,11 +29,15 @@ import org.springframework.data.redis.connection.RedisConnectionFactory;
@Configuration
public class AggregateMetricsConfiguration {
@Autowired
private MetricExportProperties export;
private final MetricExportProperties export;
@Autowired
private RedisConnectionFactory connectionFactory;
private final RedisConnectionFactory connectionFactory;
public AggregateMetricsConfiguration(MetricExportProperties export,
RedisConnectionFactory connectionFactory) {
this.export = export;
this.connectionFactory = connectionFactory;
}
@Bean
public PublicMetrics metricsAggregate() {
......
......@@ -22,7 +22,6 @@ import java.nio.charset.Charset;
import org.junit.After;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainerFactory;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.boot.context.embedded.undertow.UndertowEmbeddedServletContainerFactory;
......@@ -168,8 +167,11 @@ public class EmbeddedServletContainerMvcIntegrationTests {
@PropertySource("classpath:/org/springframework/boot/context/embedded/conf.properties")
public static class AdvancedConfig {
@Autowired
private Environment env;
private final Environment env;
public AdvancedConfig(Environment env) {
this.env = env;
}
@Bean
public EmbeddedServletContainerFactory containerFactory() {
......
......@@ -24,7 +24,6 @@ import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
......@@ -170,8 +169,11 @@ public class EntityScanTests {
@EntityScan("com.mycorp.entity")
static class BeanPostProcessorConfiguration {
@Autowired
protected EntityManagerFactory entityManagerFactory;
protected final EntityManagerFactory entityManagerFactory;
BeanPostProcessorConfiguration(EntityManagerFactory entityManagerFactory) {
this.entityManagerFactory = entityManagerFactory;
}
@Bean
public BeanPostProcessor beanPostProcessor() {
......
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