@Configuration @ConditionalOnProperty(PropertySourcesConstants.APOLLO_BOOTSTRAP_ENABLED) @ConditionalOnMissingBean(PropertySourcesProcessor.class) public class ApolloAutoConfiguration { @Bean public ConfigPropertySourcesProcessor configPropertySourcesProcessor() { return new ConfigPropertySourcesProcessor(); } }
@Configuration @ConditionalOnProperty(prefix = "hsweb.authorize", name = "basic-authorization", havingValue = "true") @ConditionalOnClass(UserTokenForTypeParser.class) public static class BasicAuthorizationConfiguration { @Bean public BasicAuthorizationTokenParser basicAuthorizationTokenParser(AuthenticationManager authenticationManager, UserTokenManager tokenManager) { return new BasicAuthorizationTokenParser(authenticationManager, tokenManager); } } }
@Bean @ConditionalOnProperty(prefix = "hsweb.authorize.two-factor", name = "enable", havingValue = "true") @Order(100) public WebMvcConfigurer twoFactorHandlerConfigurer(TwoFactorValidatorManager manager) { return new WebMvcConfigurerAdapter() { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new TwoFactorHandlerInterceptorAdapter(manager)); super.addInterceptors(registry); } }; }
@Configuration @ConditionalOnProperty(value = "spring.sleuth.propagation.tag.enabled", matchIfMissing = true) @EnableConfigurationProperties(SleuthTagPropagationProperties.class) protected static class TagPropagationConfiguration { @Bean @ConditionalOnProperty(value = "spring.sleuth.propagation.tag.whitelisted-keys") public FinishedSpanHandler finishedSpanHandler(SleuthProperties sleuthProperties, SleuthTagPropagationProperties tagPropagationProperties) { return new TagPropagationFinishedSpanHandler(sleuthProperties, tagPropagationProperties); } }
@Configuration @EnableConfigurationProperties @ConditionalOnClass(name = "com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest") @ConditionalOnProperty(value = "spring.cloud.alibaba.deshao.enable.sms", matchIfMissing = true) public class SmsContextAutoConfiguration { @Bean public SmsConfigProperties smsConfigProperties( AliCloudProperties aliCloudProperties) { return new SmsConfigProperties(aliCloudProperties); } @Bean public SmsConfigRegistration smsConfigRegistration(Environment environment, SmsConfigProperties smsConfigProperties) { return new SmsConfigRegistration(environment, smsConfigProperties); } }
@Bean @Scope("prototype") @ConditionalOnClass(name = "com.netflix.hystrix.HystrixCommand") @ConditionalOnProperty(name = "feign.hystrix.enabled", havingValue = "true") Feign.Builder feignHystrixBuilder(BeanFactory beanFactory) { return FescarHystrixFeignBuilder.builder(beanFactory); }
@ConditionalOnClass(DruidDataSource.class) @ConditionalOnProperty(name = "spring.datasource.type", havingValue = "com.alibaba.druid.pool.DruidDataSource", matchIfMissing = true) static class Druid extends DruidConfiguration { @Bean @ConfigurationProperties("spring.datasource.druid") public DruidDataSource dataSource(DataSourceProperties properties) { DruidDataSource druidDataSource = (DruidDataSource) properties.initializeDataSourceBuilder().type(DruidDataSource.class).build(); DatabaseDriver databaseDriver = DatabaseDriver.fromJdbcUrl(properties.determineUrl()); String validationQuery = databaseDriver.getValidationQuery(); if (validationQuery != null) { druidDataSource.setValidationQuery(validationQuery); } return druidDataSource; } } }
@Bean @ConditionalOnProperty(prefix = "hsweb.authorize", name = "sync", havingValue = "true") public AutoSyncPermission autoSyncPermission() { return new AutoSyncPermission(); }
/** * @author xudeyou */ @Configuration @ConditionalOnProperty(name="easytrans.master.zk.enabled",havingValue="true",matchIfMissing=true) @EnableConfigurationProperties(ZookeeperMasterSelectorProperties.class) public class ZookeeperMasterSelectorConfiguration { @Value("${spring.application.name}") private String applicationName; @Bean @ConditionalOnMissingBean(EasyTransMasterSelector.class) public EasyTransMasterSelector zooKeeperMasterSelectorImpl(ZookeeperMasterSelectorProperties properties){ return new ZooKeeperMasterSelectorImpl(properties.getZooKeeperUrl(), applicationName); } }
/** * @author zhouhao * @since */ @Configuration @ConditionalOnProperty(prefix = "hsweb.web.upload.fdfs", name = "enable", havingValue = "true") public class FastdfsServiceAutoConfiguration { @Bean @ConfigurationProperties(prefix = "hsweb.web.upload") public FdfsFileService fdfsFileService() { return new FdfsFileService(); } }
/** * OSS Auto {@link Configuration} * * @author <a href="mailto:fangjian0423@gmail.com">Jim</a> */ @Configuration @ConditionalOnClass(OSS.class) @ConditionalOnProperty(name = OssConstants.ENABLED, havingValue = "true", matchIfMissing = true) public class OssAutoConfiguration { @Bean @ConditionalOnMissingBean public OssStorageProtocolResolver ossStorageProtocolResolver() { return new OssStorageProtocolResolver(); } }
/** * @author pbting */ @Configuration @EnableConfigurationProperties @ConditionalOnClass(value = SendSmsRequest.class) @ConditionalOnProperty(value = "spring.cloud.alicloud.sms.enable", matchIfMissing = true) public class SmsAutoConfiguration { @Bean public SmsServiceImpl smsService(SmsConfigProperties smsConfigProperties) { return new SmsServiceImpl(smsConfigProperties); } @Bean public SmsInitializerEventListener smsInitializePostListener( SmsConfigProperties msConfigProperties, ISmsService smsService) { return new SmsInitializerEventListener(msConfigProperties, smsService); } }
@Bean @Scope("prototype") @ConditionalOnClass(name = "com.alibaba.csp.sentinel.SphU") @ConditionalOnProperty(name = "feign.sentinel.enabled", havingValue = "true") Feign.Builder feignSentinelBuilder(BeanFactory beanFactory) { return FescarSentinelFeignBuilder.builder(beanFactory); }
@ConditionalOnClass(DruidDataSource.class) @ConditionalOnProperty(name = "spring.datasource.type", havingValue = "com.alibaba.druid.pool.DruidDataSource", matchIfMissing = true) static class Druid extends DruidConfiguration { @Bean @ConfigurationProperties("spring.datasource.druid") public DruidDataSource dataSource(DataSourceProperties properties) { DruidDataSource druidDataSource = (DruidDataSource) properties.initializeDataSourceBuilder().type(DruidDataSource.class).build(); DatabaseDriver databaseDriver = DatabaseDriver.fromJdbcUrl(properties.determineUrl()); String validationQuery = databaseDriver.getValidationQuery(); if (validationQuery != null) { druidDataSource.setValidationQuery(validationQuery); } return druidDataSource; } } }
@Bean @ConditionalOnProperty(prefix = "hsweb.authorize.two-factor.totp", name = "enable", havingValue = "true") @ConfigurationProperties(prefix = "hsweb.authorize.two-factor.totp") public TotpTwoFactorProvider totpTwoFactorProvider(UserSettingManager userSettingManager, TwoFactorTokenManager twoFactorTokenManager) { return new TotpTwoFactorProvider(userSettingManager, twoFactorTokenManager); } }
/** * @author xudeyou */ @Configuration @ConditionalOnProperty(name="easytrans.stringcodec.zk.enabled",havingValue="true",matchIfMissing=true) @EnableConfigurationProperties(ZookeeperStringCodecProperties.class) public class ZookeeperStringCodecConfiguration { @Value("${spring.application.name}") private String applicationName; @Bean @ConditionalOnMissingBean(StringCodec.class) public StringCodec zooKeeperStringCodecImpl(ZookeeperStringCodecProperties properties){ return new ZooKeeperStringCodecImpl(properties.getZooKeeperUrl(), applicationName); } }
@Configuration @ConditionalOnProperty(prefix = "spring.boot.admin.notify.hipchat", name = "url") @AutoConfigureBefore({NotifierTriggerConfiguration.class, CompositeNotifierConfiguration.class}) public static class HipchatNotifierConfiguration { @Bean @ConditionalOnMissingBean @ConfigurationProperties("spring.boot.admin.notify.hipchat") public HipchatNotifier hipchatNotifier(InstanceRepository repository) { return new HipchatNotifier(repository); } }
@Configuration @ConditionalOnClass(ContextRefresher.class) @ConditionalOnBean(ContextRefresher.class) @ConditionalOnProperty(value = "spring.cloud.config.watch.enabled") protected static class ConfigClientWatchConfiguration { @Bean public ConfigClientWatch configClientWatch(ContextRefresher contextRefresher) { return new ConfigClientWatch(contextRefresher); } }
/** * {@link org.springframework.boot.autoconfigure.EnableAutoConfiguration * Auto-configuration} to enable tracing via Opentracing. * * @author Spencer Gibb * @author Marcin Grzejszczak * @since 2.0.0 */ @Configuration @ConditionalOnProperty(value = "spring.sleuth.opentracing.enabled", matchIfMissing = true) @ConditionalOnBean(Tracing.class) @ConditionalOnClass(Tracer.class) @EnableConfigurationProperties(SleuthOpentracingProperties.class) public class OpentracingAutoConfiguration { @Bean @ConditionalOnMissingBean @ConditionalOnClass(name = "brave.opentracing.BraveTracer") Tracer sleuthOpenTracing(brave.Tracing braveTracing) { return BraveTracer.create(braveTracing); } }
/** * Creates {@link ServiceAnnotationBeanPostProcessor} Bean * * @param environment {@link Environment} Bean * @return {@link ServiceAnnotationBeanPostProcessor} */ @ConditionalOnProperty(name = BASE_PACKAGES_PROPERTY_NAME) @ConditionalOnClass(ConfigurationPropertySources.class) @Bean public ServiceAnnotationBeanPostProcessor serviceAnnotationBeanPostProcessor(Environment environment) { Set<String> packagesToScan = environment.getProperty(BASE_PACKAGES_PROPERTY_NAME, Set.class, emptySet()); return new ServiceAnnotationBeanPostProcessor(packagesToScan); }