org.springframework.util.ClassUtils.isPresent()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(13.9k)|赞(0)|评价(0)|浏览(1770)

本文整理了Java中org.springframework.util.ClassUtils.isPresent()方法的一些代码示例,展示了ClassUtils.isPresent()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ClassUtils.isPresent()方法的具体详情如下:
包路径:org.springframework.util.ClassUtils
类名称:ClassUtils
方法名:isPresent

ClassUtils.isPresent介绍

[英]Determine whether the Class identified by the supplied name is present and can be loaded. Will return false if either the class or one of its dependencies is not present or cannot be loaded.
[中]确定由提供的名称标识的类是否存在并可以加载。如果类或其依赖项之一不存在或无法加载,则将返回false

代码示例

代码示例来源:origin: spring-projects/spring-framework

protected boolean isBeanConfigurerAspectEnabled(@Nullable ClassLoader beanClassLoader) {
  return ClassUtils.isPresent(SpringConfiguredBeanDefinitionParser.BEAN_CONFIGURER_ASPECT_CLASS_NAME,
      beanClassLoader);
}

代码示例来源:origin: spring-projects/spring-framework

private String determineTransactionAspectClass() {
  return (ClassUtils.isPresent("javax.transaction.Transactional", getClass().getClassLoader()) ?
      TransactionManagementConfigUtils.JTA_TRANSACTION_ASPECT_CONFIGURATION_CLASS_NAME :
      TransactionManagementConfigUtils.TRANSACTION_ASPECT_CONFIGURATION_CLASS_NAME);
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Accept the containing {@link BeanFactory}, registering corresponding Hibernate
 * {@link org.hibernate.resource.beans.container.spi.BeanContainer} integration for
 * it if possible. This requires a Spring {@link ConfigurableListableBeanFactory}
 * and Hibernate 5.3 or higher on the classpath.
 * @since 5.1
 * @see SpringBeanContainer
 * @see LocalSessionFactoryBuilder#setBeanContainer
 */
@Override
public void setBeanFactory(BeanFactory beanFactory) {
  if (beanFactory instanceof ConfigurableListableBeanFactory &&
      ClassUtils.isPresent("org.hibernate.resource.beans.container.spi.BeanContainer",
          getClass().getClassLoader())) {
    this.beanFactory = (ConfigurableListableBeanFactory) beanFactory;
  }
}

代码示例来源:origin: org.springframework/spring-context

protected boolean isBeanConfigurerAspectEnabled(@Nullable ClassLoader beanClassLoader) {
  return ClassUtils.isPresent(SpringConfiguredBeanDefinitionParser.BEAN_CONFIGURER_ASPECT_CLASS_NAME,
      beanClassLoader);
}

代码示例来源:origin: spring-projects/spring-framework

@Nullable
  public static SpecificPlatform get() {
    ClassLoader classLoader = MBeanExportConfiguration.class.getClassLoader();
    for (SpecificPlatform environment : values()) {
      if (ClassUtils.isPresent(environment.identifyingClass, classLoader)) {
        return environment;
      }
    }
    return null;
  }
}

代码示例来源:origin: org.springframework/spring-context

@Nullable
  public static SpecificPlatform get() {
    ClassLoader classLoader = MBeanExportConfiguration.class.getClassLoader();
    for (SpecificPlatform environment : values()) {
      if (ClassUtils.isPresent(environment.identifyingClass, classLoader)) {
        return environment;
      }
    }
    return null;
  }
}

代码示例来源:origin: spring-projects/spring-framework

ProtobufHttpMessageConverter(@Nullable ProtobufFormatSupport formatSupport,
    @Nullable ExtensionRegistry extensionRegistry) {
  if (formatSupport != null) {
    this.protobufFormatSupport = formatSupport;
  }
  else if (ClassUtils.isPresent("com.googlecode.protobuf.format.FormatFactory", getClass().getClassLoader())) {
    this.protobufFormatSupport = new ProtobufJavaFormatSupport();
  }
  else if (ClassUtils.isPresent("com.google.protobuf.util.JsonFormat", getClass().getClassLoader())) {
    this.protobufFormatSupport = new ProtobufJavaUtilSupport(null, null);
  }
  else {
    this.protobufFormatSupport = null;
  }
  setSupportedMediaTypes(Arrays.asList(this.protobufFormatSupport != null ?
      this.protobufFormatSupport.supportedMediaTypes() : new MediaType[] {PROTOBUF, TEXT_PLAIN}));
  this.extensionRegistry = (extensionRegistry == null ? ExtensionRegistry.newInstance() : extensionRegistry);
}

代码示例来源:origin: apache/incubator-dubbo

private Class<?> resolveServiceInterfaceClass(Class<?> annotatedServiceBeanClass, Service service) {
  Class<?> interfaceClass = service.interfaceClass();
  if (void.class.equals(interfaceClass)) {
    interfaceClass = null;
    String interfaceClassName = service.interfaceName();
    if (StringUtils.hasText(interfaceClassName)) {
      if (ClassUtils.isPresent(interfaceClassName, classLoader)) {
        interfaceClass = resolveClassName(interfaceClassName, classLoader);
      }
    }
  }
  if (interfaceClass == null) {
    Class<?>[] allInterfaces = annotatedServiceBeanClass.getInterfaces();
    if (allInterfaces.length > 0) {
      interfaceClass = allInterfaces[0];
    }
  }
  Assert.notNull(interfaceClass,
      "@Service interfaceClass() or interfaceName() or interface class must be present!");
  Assert.isTrue(interfaceClass.isInterface(),
      "The type that was annotated @Service is not an interface!");
  return interfaceClass;
}

代码示例来源:origin: apache/incubator-dubbo

private Class<?> resolveServiceInterfaceClass(Class<?> annotatedServiceBeanClass, Service service) {
  Class<?> interfaceClass = service.interfaceClass();
  if (void.class.equals(interfaceClass)) {
    interfaceClass = null;
    String interfaceClassName = service.interfaceName();
    if (StringUtils.hasText(interfaceClassName)) {
      if (ClassUtils.isPresent(interfaceClassName, classLoader)) {
        interfaceClass = resolveClassName(interfaceClassName, classLoader);
      }
    }
  }
  if (interfaceClass == null) {
    Class<?>[] allInterfaces = annotatedServiceBeanClass.getInterfaces();
    if (allInterfaces.length > 0) {
      interfaceClass = allInterfaces[0];
    }
  }
  Assert.notNull(interfaceClass,
      "@Service interfaceClass() or interfaceName() or interface class must be present!");
  Assert.isTrue(interfaceClass.isInterface(),
      "The type that was annotated @Service is not an interface!");
  return interfaceClass;
}

代码示例来源:origin: apache/incubator-dubbo

private Class<?> resolveServiceInterfaceClass(Class<?> annotatedServiceBeanClass, Service service) {
  Class<?> interfaceClass = service.interfaceClass();
  if (void.class.equals(interfaceClass)) {
    interfaceClass = null;
    String interfaceClassName = service.interfaceName();
    if (StringUtils.hasText(interfaceClassName)) {
      if (ClassUtils.isPresent(interfaceClassName, classLoader)) {
        interfaceClass = resolveClassName(interfaceClassName, classLoader);
      }
    }
  }
  if (interfaceClass == null) {
    Class<?>[] allInterfaces = annotatedServiceBeanClass.getInterfaces();
    if (allInterfaces.length > 0) {
      interfaceClass = allInterfaces[0];
    }
  }
  Assert.notNull(interfaceClass,
      "@Service interfaceClass() or interfaceName() or interface class must be present!");
  Assert.isTrue(interfaceClass.isInterface(),
      "The type that was annotated @Service is not an interface!");
  return interfaceClass;
}

代码示例来源:origin: apache/incubator-dubbo

private Class<?> resolveServiceInterfaceClass(Class<?> annotatedServiceBeanClass, Service service) {
  Class<?> interfaceClass = service.interfaceClass();
  if (void.class.equals(interfaceClass)) {
    interfaceClass = null;
    String interfaceClassName = service.interfaceName();
    if (StringUtils.hasText(interfaceClassName)) {
      if (ClassUtils.isPresent(interfaceClassName, classLoader)) {
        interfaceClass = resolveClassName(interfaceClassName, classLoader);
      }
    }
  }
  if (interfaceClass == null) {
    Class<?>[] allInterfaces = annotatedServiceBeanClass.getInterfaces();
    if (allInterfaces.length > 0) {
      interfaceClass = allInterfaces[0];
    }
  }
  Assert.notNull(interfaceClass,
      "@Service interfaceClass() or interfaceName() or interface class must be present!");
  Assert.isTrue(interfaceClass.isInterface(),
      "The type that was annotated @Service is not an interface!");
  return interfaceClass;
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Return a global {@link Validator} instance for example for validating
 * {@code @ModelAttribute} and {@code @RequestBody} method arguments.
 * Delegates to {@link #getValidator()} first and if that returns {@code null}
 * checks the classpath for the presence of a JSR-303 implementations
 * before creating a {@code OptionalValidatorFactoryBean}.If a JSR-303
 * implementation is not available, a no-op {@link Validator} is returned.
 */
@Bean
public Validator mvcValidator() {
  Validator validator = getValidator();
  if (validator == null) {
    if (ClassUtils.isPresent("javax.validation.Validator", getClass().getClassLoader())) {
      Class<?> clazz;
      try {
        String className = "org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean";
        clazz = ClassUtils.forName(className, WebMvcConfigurationSupport.class.getClassLoader());
      }
      catch (ClassNotFoundException | LinkageError ex) {
        throw new BeanInitializationException("Failed to resolve default validator class", ex);
      }
      validator = (Validator) BeanUtils.instantiateClass(clazz);
    }
    else {
      validator = new NoOpValidator();
    }
  }
  return validator;
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Return a global {@link Validator} instance for example for validating
 * {@code @RequestBody} method arguments.
 * <p>Delegates to {@link #getValidator()} first. If that returns {@code null}
 * checks the classpath for the presence of a JSR-303 implementations
 * before creating a {@code OptionalValidatorFactoryBean}. If a JSR-303
 * implementation is not available, a "no-op" {@link Validator} is returned.
 */
@Bean
public Validator webFluxValidator() {
  Validator validator = getValidator();
  if (validator == null) {
    if (ClassUtils.isPresent("javax.validation.Validator", getClass().getClassLoader())) {
      Class<?> clazz;
      try {
        String name = "org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean";
        clazz = ClassUtils.forName(name, getClass().getClassLoader());
      }
      catch (ClassNotFoundException | LinkageError ex) {
        throw new BeanInitializationException("Failed to resolve default validator class", ex);
      }
      validator = (Validator) BeanUtils.instantiateClass(clazz);
    }
    else {
      validator = new NoOpValidator();
    }
  }
  return validator;
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Create a registry and auto-register default adapters.
 * @see #getSharedInstance()
 */
public ReactiveAdapterRegistry() {
  ClassLoader classLoader = ReactiveAdapterRegistry.class.getClassLoader();
  // Reactor
  boolean reactorRegistered = false;
  if (ClassUtils.isPresent("reactor.core.publisher.Flux", classLoader)) {
    new ReactorRegistrar().registerAdapters(this);
    reactorRegistered = true;
  }
  this.reactorPresent = reactorRegistered;
  // RxJava1
  if (ClassUtils.isPresent("rx.Observable", classLoader) &&
      ClassUtils.isPresent("rx.RxReactiveStreams", classLoader)) {
    new RxJava1Registrar().registerAdapters(this);
  }
  // RxJava2
  if (ClassUtils.isPresent("io.reactivex.Flowable", classLoader)) {
    new RxJava2Registrar().registerAdapters(this);
  }
  // Java 9+ Flow.Publisher
  if (ClassUtils.isPresent("java.util.concurrent.Flow.Publisher", classLoader)) {
    new ReactorJdkFlowAdapterRegistrar().registerAdapter(this);
  }
  // If not present, do nothing for the time being...
  // We can fall back on "reactive-streams-flow-bridge" (once released)
}

代码示例来源:origin: apache/incubator-dubbo

private void configureInterface(Reference reference, ReferenceBean referenceBean) {
  Class<?> interfaceClass = reference.interfaceClass();
  if (void.class.equals(interfaceClass)) {
    interfaceClass = null;
    String interfaceClassName = reference.interfaceName();
    if (StringUtils.hasText(interfaceClassName)) {
      if (ClassUtils.isPresent(interfaceClassName, classLoader)) {
        interfaceClass = ClassUtils.resolveClassName(interfaceClassName, classLoader);
      }
    }
  }
  if (interfaceClass == null) {
    interfaceClass = this.interfaceClass;
  }
  Assert.isTrue(interfaceClass.isInterface(),
      "The class of field or method that was annotated @Reference is not an interface!");
  referenceBean.setInterface(interfaceClass);
}

代码示例来源:origin: apache/incubator-dubbo

private void configureInterface(Reference reference, ReferenceBean referenceBean) {
  Class<?> interfaceClass = reference.interfaceClass();
  if (void.class.equals(interfaceClass)) {
    interfaceClass = null;
    String interfaceClassName = reference.interfaceName();
    if (StringUtils.hasText(interfaceClassName)) {
      if (ClassUtils.isPresent(interfaceClassName, classLoader)) {
        interfaceClass = ClassUtils.resolveClassName(interfaceClassName, classLoader);
      }
    }
  }
  if (interfaceClass == null) {
    interfaceClass = this.interfaceClass;
  }
  Assert.isTrue(interfaceClass.isInterface(),
      "The class of field or method that was annotated @Reference is not an interface!");
  referenceBean.setInterface(interfaceClass);
}

代码示例来源:origin: apache/incubator-dubbo

private void configureInterface(Reference reference, ReferenceBean referenceBean) {
  Class<?> interfaceClass = reference.interfaceClass();
  if (void.class.equals(interfaceClass)) {
    interfaceClass = null;
    String interfaceClassName = reference.interfaceName();
    if (StringUtils.hasText(interfaceClassName)) {
      if (ClassUtils.isPresent(interfaceClassName, classLoader)) {
        interfaceClass = ClassUtils.resolveClassName(interfaceClassName, classLoader);
      }
    }
  }
  if (interfaceClass == null) {
    interfaceClass = this.interfaceClass;
  }
  Assert.isTrue(interfaceClass.isInterface(),
      "The class of field or method that was annotated @Reference is not an interface!");
  referenceBean.setInterface(interfaceClass);
}

代码示例来源:origin: apache/incubator-dubbo

private void configureInterface(Reference reference, ReferenceBean referenceBean) {
  Class<?> interfaceClass = reference.interfaceClass();
  if (void.class.equals(interfaceClass)) {
    interfaceClass = null;
    String interfaceClassName = reference.interfaceName();
    if (StringUtils.hasText(interfaceClassName)) {
      if (ClassUtils.isPresent(interfaceClassName, classLoader)) {
        interfaceClass = ClassUtils.resolveClassName(interfaceClassName, classLoader);
      }
    }
  }
  if (interfaceClass == null) {
    interfaceClass = this.interfaceClass;
  }
  Assert.isTrue(interfaceClass.isInterface(),
      "The class of field or method that was annotated @Reference is not an interface!");
  referenceBean.setInterface(interfaceClass);
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Parses the {@code <tx:annotation-driven/>} tag. Will
 * {@link AopNamespaceUtils#registerAutoProxyCreatorIfNecessary register an AutoProxyCreator}
 * with the container as necessary.
 */
@Override
@Nullable
public BeanDefinition parse(Element element, ParserContext parserContext) {
  registerTransactionalEventListenerFactory(parserContext);
  String mode = element.getAttribute("mode");
  if ("aspectj".equals(mode)) {
    // mode="aspectj"
    registerTransactionAspect(element, parserContext);
    if (ClassUtils.isPresent("javax.transaction.Transactional", getClass().getClassLoader())) {
      registerJtaTransactionAspect(element, parserContext);
    }
  }
  else {
    // mode="proxy"
    AopAutoProxyConfigurer.configureAutoProxyCreator(element, parserContext);
  }
  return null;
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void testIsPresent() {
  assertTrue(ClassUtils.isPresent("java.lang.String", classLoader));
  assertFalse(ClassUtils.isPresent("java.lang.MySpecialString", classLoader));
}

相关文章

微信公众号

最新文章

更多