Skip to content

Commit

Permalink
use Constructor injection replace @Autowired(required = false) (#3617)
Browse files Browse the repository at this point in the history
  • Loading branch information
springboot4 authored Mar 7, 2024
1 parent 0cefa93 commit 4c00ada
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
Expand All @@ -33,14 +33,17 @@
* @author freeman
*/
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(
name = { "reactor.core.publisher.Mono", "reactor.core.publisher.Flux" })
@ConditionalOnProperty(name = "spring.cloud.circuitbreaker.sentinel.enabled",
havingValue = "true", matchIfMissing = true)
@ConditionalOnClass(name = { "reactor.core.publisher.Mono",
"reactor.core.publisher.Flux" })
@ConditionalOnProperty(name = "spring.cloud.circuitbreaker.sentinel.enabled", havingValue = "true", matchIfMissing = true)
public class ReactiveSentinelCircuitBreakerAutoConfiguration {

@Autowired(required = false)
private List<Customizer<ReactiveSentinelCircuitBreakerFactory>> customizers = new ArrayList<>();
private final List<Customizer<ReactiveSentinelCircuitBreakerFactory>> customizers;

public ReactiveSentinelCircuitBreakerAutoConfiguration(
ObjectProvider<List<Customizer<ReactiveSentinelCircuitBreakerFactory>>> customizers) {
this.customizers = customizers.getIfAvailable(ArrayList::new);
}

@Bean
@ConditionalOnMissingBean(ReactiveCircuitBreakerFactory.class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@
import java.util.ArrayList;
import java.util.List;


import com.alibaba.csp.sentinel.SphU;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
Expand All @@ -39,12 +38,15 @@
*/
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass({ SphU.class })
@ConditionalOnProperty(name = "spring.cloud.circuitbreaker.sentinel.enabled",
havingValue = "true", matchIfMissing = true)
@ConditionalOnProperty(name = "spring.cloud.circuitbreaker.sentinel.enabled", havingValue = "true", matchIfMissing = true)
public class SentinelCircuitBreakerAutoConfiguration {

@Autowired(required = false)
private List<Customizer<SentinelCircuitBreakerFactory>> customizers = new ArrayList<>();
private final List<Customizer<SentinelCircuitBreakerFactory>> customizers;

public SentinelCircuitBreakerAutoConfiguration(
ObjectProvider<List<Customizer<SentinelCircuitBreakerFactory>>> customizers) {
this.customizers = customizers.getIfAvailable(ArrayList::new);
}

@Bean
@ConditionalOnMissingBean(CircuitBreakerFactory.class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,10 @@

package com.alibaba.cloud.nacos.discovery.configclient;


import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
import jakarta.annotation.PostConstruct;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cloud.config.server.config.ConfigServerProperties;
Expand All @@ -34,14 +33,19 @@
*/
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties
@ConditionalOnClass({NacosDiscoveryProperties.class, ConfigServerProperties.class})
@ConditionalOnClass({ NacosDiscoveryProperties.class, ConfigServerProperties.class })
public class NacosConfigServerAutoConfiguration {

@Autowired(required = false)
private NacosDiscoveryProperties properties;
private final NacosDiscoveryProperties properties;

private final ConfigServerProperties server;

@Autowired(required = false)
private ConfigServerProperties server;
public NacosConfigServerAutoConfiguration(
ObjectProvider<NacosDiscoveryProperties> properties,
ObjectProvider<ConfigServerProperties> server) {
this.properties = properties.getIfAvailable();
this.server = server.getIfAvailable();
}

@PostConstruct
public void init() {
Expand Down

0 comments on commit 4c00ada

Please sign in to comment.