类org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass源码实例Demo

下面列出了怎么用org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass的API类实例代码及写法,或者点击链接到github查看源代码。

/**
	 * Springdoc bean factory post processor 2 bean factory post processor.
	 *
	 * @return the bean factory post processor
	 */
// For spring-boot-1 compatibility
	@Bean
	@Conditional(CacheOrGroupedOpenApiCondition.class)
	@ConditionalOnMissingClass(value = BINDRESULT_CLASS)
	@Lazy(false)
	static BeanFactoryPostProcessor springdocBeanFactoryPostProcessor2() {
		return SpringdocBeanFactoryConfigurer::initBeanFactoryPostProcessor;
	}
 
/**
 * ApiBoot Jdbc Resource Pusher
 * extends from ApiBootJdbcResourcePusher
 *
 * @return ApiBootJdbcResourcePusher
 */
@Bean
@ConditionalOnMissingBean
@ConditionalOnMissingClass("org.springframework.data.redis.core.RedisTemplate")
ApiBootMemoryResourcePusher apiBootMemoryResourcePusher() {
    return new ApiBootMemoryResourcePusher(resourceStoreDelegate);
}
 
/**
 * google guava rate limiter
 *
 * @param rateLimiterConfigCentre RateLimiter Config Centre
 * @return ApiBootRateLimiter
 */
@Bean
@ConditionalOnMissingBean
@ConditionalOnMissingClass("org.springframework.data.redis.core.RedisTemplate")
public ApiBootRateLimiter googleGuavaRateLimiter(RateLimiterConfigCentre rateLimiterConfigCentre) {
    return new GoogleGuavaRateLimiter(apiBootRateLimiterProperties.isEnableGlobalQps() ? apiBootRateLimiterProperties.getGlobalQps() : 0L, rateLimiterConfigCentre);
}
 
/**
 * default config centre
 *
 * @return RateLimiterConfigCentre
 */
@Bean
@ConditionalOnMissingBean
@ConditionalOnMissingClass({"com.alibaba.boot.nacos.config.properties.NacosConfigProperties"})
public RateLimiterConfigCentre defaultRateLimiterConfigCentre() {
    return new DefaultRateLimiterConfigCentre();
}
 
源代码5 项目: zkspringboot   文件: ZkAutoConfiguration.java
@Bean
@ConditionalOnMissingClass("org.zkoss.zats.mimic.Zats") //only allow custom update URI outside Zats testcases.
public ServletRegistrationBean customizableDHtmlUpdateServlet() {
	final String updateUri = zkProperties.getUpdateUri();
	logger.info("ZK-Springboot: ServletRegistrationBean for DHtmlUpdateServlet with path " + updateUri);
	return new ServletRegistrationBean(new DHtmlUpdateServlet(), updateUri + "/*");
}
 
源代码6 项目: spring-boot-shiro   文件: ShiroConfiguration.java
/**
 * (基于内存的)用户授权信息Cache
 */
@Bean(name = "cacheManager")
@ConditionalOnMissingBean(name = "cacheManager")
@ConditionalOnMissingClass(value = {"org.apache.shiro.cache.ehcache.EhCacheManager"})
public CacheManager cacheManager() {
    return new MemoryConstrainedCacheManager();
}
 
@Bean
@ConditionalOnClass(name = "org.springframework.web.client.RestTemplate")
@ConditionalOnMissingClass("com.sun.jersey.api.client.filter.ClientFilter")
@ConditionalOnMissingBean(value = { AbstractDiscoveryClientOptionalArgs.class },
		search = SearchStrategy.CURRENT)
@ConditionalOnProperty(prefix = "eureka.client", name = "webclient.enabled",
		matchIfMissing = true, havingValue = "false")
public RestTemplateDiscoveryClientOptionalArgs restTemplateDiscoveryClientOptionalArgs() {
	logger.info("Eureka HTTP Client uses RestTemplate.");
	return new RestTemplateDiscoveryClientOptionalArgs();
}
 
@Bean
@ConditionalOnMissingClass("com.sun.jersey.api.client.filter.ClientFilter")
@ConditionalOnClass(
		name = "org.springframework.web.reactive.function.client.WebClient")
@ConditionalOnMissingBean(
		value = { AbstractDiscoveryClientOptionalArgs.class,
				RestTemplateDiscoveryClientOptionalArgs.class },
		search = SearchStrategy.CURRENT)
@ConditionalOnProperty(prefix = "eureka.client", name = "webclient.enabled",
		havingValue = "true")
public WebClientDiscoveryClientOptionalArgs webClientDiscoveryClientOptionalArgs() {
	logger.info("Eureka HTTP Client uses WebClient.");
	return new WebClientDiscoveryClientOptionalArgs();
}
 
@Bean
@ConditionalOnMissingBean
@ConditionalOnMissingClass("org.springframework.data.domain.Pageable")
public Encoder feignEncoder(ObjectProvider<AbstractFormWriter> formWriterProvider) {
	return springEncoder(formWriterProvider);
}
 
/**
 * 构建 {@link DefaultFormatter} Bean
 *
 * @return {@link DefaultFormatter}
 */
@Bean
@ConditionalOnMissingClass(value = "com.fasterxml.jackson.databind.ObjectMapper")
public Formatter defaultFormatter() {
    return new DefaultFormatter();
}
 
@ConditionalOnMissingClass("org.springframework.boot.context.embedded.ServletRegistrationBean")
@Bean
public ServletRegistrationBean defaultServletRegistrationBean() {
    return new ServletRegistrationBean(new NoOpServlet(), "/no-op");
}
 
@Bean
@ConditionalOnMissingClass({ "com.alipay.sofa.healthcheck.startup.ReadinessCheckCallback" })
public ApplicationContextRefreshedListener applicationContextRefreshedListener() {
    return new ApplicationContextRefreshedListener();
}
 
@Bean
@ConditionalOnMissingClass("ololo.Trololo")
public String missingString2() {
  System.out.println("see me");
  return "but will see me =)";
}
 
@Bean
@ConditionalOnMissingClass("org.hswebframework.web.datasource.jta.JtaDynamicDataSourceService")
public DynamicDataSourceService inDBDynamicDataSourceService(DynamicDataSourceConfigRepository repository,
                                                             DataSource dataSource) {
    return new InDBDynamicDataSourceService(repository, new DynamicDataSourceProxy("dataSource", dataSource));
}
 
@Bean
@ConditionalOnMissingClass("org.springframework.security.core.Authentication")
public RateLimitUtils rateLimitUtils(final RateLimitProperties rateLimitProperties) {
    return new DefaultRateLimitUtils(rateLimitProperties);
}
 
@Bean
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
@ConditionalOnMissingClass("reactor.core.publisher.Flux")
SleuthMethodInvocationProcessor nonReactorSleuthMethodInvocationProcessor() {
	return new NonReactorSleuthMethodInvocationProcessor();
}
 
@Bean
@ConditionalOnMissingClass("org.springframework.cloud.aws.mail.simplemail.SimpleEmailServiceJavaMailSender")
public MailSender simpleMailSender(
		AmazonSimpleEmailService amazonSimpleEmailService) {
	return new SimpleEmailServiceMailSender(amazonSimpleEmailService);
}
 
@Bean
@ConditionalOnMissingClass("com.sequenceiq.cloudbreak.service.user.UserService")
public InternalUserModifier internalUserModifier() {
    return new InternalUserModifier();
}
 
源代码19 项目: javers   文件: JaversSqlAutoConfiguration.java
@Bean(name = "MockAuthorProvider")
@ConditionalOnMissingBean
@ConditionalOnMissingClass({"org.springframework.security.core.context.SecurityContextHolder"})
public AuthorProvider unknownAuthorProvider() {
    return new MockAuthorProvider();
}
 
源代码20 项目: javers   文件: JaversMongoAutoConfiguration.java
@Bean(name = "MockAuthorProvider")
@ConditionalOnMissingBean
@ConditionalOnMissingClass({"org.springframework.security.core.context.SecurityContextHolder"})
public AuthorProvider unknownAuthorProvider() {
    return new MockAuthorProvider();
}
 
 同包方法