本文整理了Java中org.springframework.util.ClassUtils.isCglibProxyClass()
方法的一些代码示例,展示了ClassUtils.isCglibProxyClass()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ClassUtils.isCglibProxyClass()
方法的具体详情如下:
包路径:org.springframework.util.ClassUtils
类名称:ClassUtils
方法名:isCglibProxyClass
[英]Check whether the specified class is a CGLIB-generated class.
[中]检查指定的类是否为CGLIB生成的类。
代码示例来源:origin: spring-projects/spring-framework
/**
* Check whether the given object is a CGLIB proxy.
* @param object the object to check
* @see #isCglibProxyClass(Class)
* @see org.springframework.aop.support.AopUtils#isCglibProxy(Object)
*/
public static boolean isCglibProxy(Object object) {
return isCglibProxyClass(object.getClass());
}
代码示例来源:origin: spring-projects/spring-framework
/**
* Check whether the given object is a JDK dynamic proxy or a CGLIB proxy.
* <p>This method additionally checks if the given object is an instance
* of {@link SpringProxy}.
* @param object the object to check
* @see #isJdkDynamicProxy
* @see #isCglibProxy
*/
public static boolean isAopProxy(@Nullable Object object) {
return (object instanceof SpringProxy &&
(Proxy.isProxyClass(object.getClass()) || ClassUtils.isCglibProxyClass(object.getClass())));
}
代码示例来源:origin: org.springframework/spring-core
/**
* Check whether the given object is a CGLIB proxy.
* @param object the object to check
* @see #isCglibProxyClass(Class)
* @see org.springframework.aop.support.AopUtils#isCglibProxy(Object)
*/
public static boolean isCglibProxy(Object object) {
return isCglibProxyClass(object.getClass());
}
代码示例来源:origin: org.springframework.boot/spring-boot
public Method findFactoryMethod(String beanName) {
if (!this.beansFactoryMetadata.containsKey(beanName)) {
return null;
}
AtomicReference<Method> found = new AtomicReference<>(null);
FactoryMetadata metadata = this.beansFactoryMetadata.get(beanName);
Class<?> factoryType = this.beanFactory.getType(metadata.getBean());
String factoryMethod = metadata.getMethod();
if (ClassUtils.isCglibProxyClass(factoryType)) {
factoryType = factoryType.getSuperclass();
}
ReflectionUtils.doWithMethods(factoryType, (method) -> {
if (method.getName().equals(factoryMethod)) {
found.compareAndSet(null, method);
}
});
return found.get();
}
代码示例来源:origin: spring-projects/spring-framework
if (ClassUtils.isCglibProxyClass(rootClass)) {
proxySuperClass = rootClass.getSuperclass();
Class<?>[] additionalInterfaces = rootClass.getInterfaces();
代码示例来源:origin: spring-projects/spring-framework
/**
* @since 3.2.8 and 4.0.2
* @see <a href="https://jira.spring.io/browse/SPR-10785">SPR-10785</a> and <a
* href="https://jira.spring.io/browse/SPR-11420">SPR-11420</a>
*/
@Test
public void methodInjectedBeanMustBeOfSameEnhancedCglibSubclassTypeAcrossBeanFactories() {
Class<?> firstClass = null;
for (int i = 0; i < 10; i++) {
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
new XmlBeanDefinitionReader(bf).loadBeanDefinitions(OVERRIDES_CONTEXT);
final Class<?> currentClass = bf.getBean("overrideOneMethod").getClass();
assertTrue("Method injected bean class [" + currentClass + "] must be a CGLIB enhanced subclass.",
ClassUtils.isCglibProxyClass(currentClass));
if (firstClass == null) {
firstClass = currentClass;
}
else {
assertEquals(firstClass, currentClass);
}
}
}
代码示例来源:origin: camunda/camunda-bpm-platform
/**
* Check whether the given object is a CGLIB proxy.
* @param object the object to check
* @see org.springframework.aop.support.AopUtils#isCglibProxy(Object)
*/
public static boolean isCglibProxy(Object object) {
return ClassUtils.isCglibProxyClass(object.getClass());
}
代码示例来源:origin: spring-projects/spring-integration
private static Class<?> getTargetClass(Object targetObject) {
Class<?> targetClass = targetObject.getClass();
if (AopUtils.isAopProxy(targetObject)) {
targetClass = AopUtils.getTargetClass(targetObject);
}
else if (ClassUtils.isCglibProxyClass(targetClass)) {
Class<?> superClass = targetObject.getClass().getSuperclass();
if (!Object.class.equals(superClass)) {
targetClass = superClass;
}
}
return targetClass;
}
代码示例来源:origin: spring-projects/spring-integration
private Class<?> getTargetClass(Object targetObject) {
Class<?> targetClass = targetObject.getClass();
if (AopUtils.isAopProxy(targetObject)) {
targetClass = AopUtils.getTargetClass(targetObject);
if (targetClass == targetObject.getClass()) {
try {
// Maybe a proxy with no target - e.g. gateway
Class<?>[] interfaces = ((Advised) targetObject).getProxiedInterfaces();
if (interfaces.length == 1) {
targetClass = interfaces[0];
}
}
catch (Exception e) {
logger.debug("Exception trying to extract interface", e);
}
}
}
else if (org.springframework.util.ClassUtils.isCglibProxyClass(targetClass)
|| targetClass.getSimpleName().contains("$MockitoMock$")) {
Class<?> superClass = targetObject.getClass().getSuperclass();
if (!Object.class.equals(superClass)) {
targetClass = superClass;
}
}
return targetClass;
}
代码示例来源:origin: apache/servicemix-bundles
/**
* Check whether the given object is a CGLIB proxy.
* @param object the object to check
* @see #isCglibProxyClass(Class)
* @see org.springframework.aop.support.AopUtils#isCglibProxy(Object)
*/
public static boolean isCglibProxy(Object object) {
return isCglibProxyClass(object.getClass());
}
代码示例来源:origin: camunda/camunda-bpm-platform
if (fbDef instanceof AbstractBeanDefinition) {
Class<?> fbClass = ((AbstractBeanDefinition)fbDef).getBeanClass();
if (ClassUtils.isCglibProxyClass(fbClass)) {
代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-core
/**
* Check whether the given object is a CGLIB proxy.
* @param object the object to check
* @see #isCglibProxyClass(Class)
* @see org.springframework.aop.support.AopUtils#isCglibProxy(Object)
*/
public static boolean isCglibProxy(Object object) {
return isCglibProxyClass(object.getClass());
}
代码示例来源:origin: apache/servicemix-bundles
/**
* Check whether the given object is a JDK dynamic proxy or a CGLIB proxy.
* <p>This method additionally checks if the given object is an instance
* of {@link SpringProxy}.
* @param object the object to check
* @see #isJdkDynamicProxy
* @see #isCglibProxy
*/
public static boolean isAopProxy(Object object) {
return (object instanceof SpringProxy &&
(Proxy.isProxyClass(object.getClass()) || ClassUtils.isCglibProxyClass(object.getClass())));
}
代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop
/**
* Check whether the given object is a JDK dynamic proxy or a CGLIB proxy.
* <p>This method additionally checks if the given object is an instance
* of {@link SpringProxy}.
* @param object the object to check
* @see #isJdkDynamicProxy
* @see #isCglibProxy
*/
public static boolean isAopProxy(@Nullable Object object) {
return (object instanceof SpringProxy &&
(Proxy.isProxyClass(object.getClass()) || ClassUtils.isCglibProxyClass(object.getClass())));
}
代码示例来源:origin: venus-boot/saluki
private static boolean isAopProxy(Object object) {
return Proxy.isProxyClass(object.getClass()) || ClassUtils.isCglibProxyClass(object.getClass());
}
代码示例来源:origin: apache/cxf
protected Class<?> getRealClassFromClassInternal(Class<?> cls) {
if (ClassUtils.isCglibProxyClass(cls)) {
return getRealClassFromClassInternal(cls.getSuperclass());
}
return cls;
}
protected Object getRealObjectInternal(Object o) {
代码示例来源:origin: org.apache.cxf/cxf-core
protected Class<?> getRealClassFromClassInternal(Class<?> cls) {
if (ClassUtils.isCglibProxyClass(cls)) {
return getRealClassFromClassInternal(cls.getSuperclass());
}
return cls;
}
protected Object getRealObjectInternal(Object o) {
代码示例来源:origin: org.javasimon/javasimon-spring
@Override
public boolean matches(Method method, Class targetClass) {
return !ClassUtils.isCglibProxyClass(targetClass) && isMonitoredAnnotationOnClassOrMethod(method, targetClass);
}
代码示例来源:origin: ff4j/ff4j
/** {@inheritDoc} */
@Override
protected Object[] getAdvicesAndAdvisorsForBean(Class<?> beanClass, String beanName, TargetSource targetSource) {
// Do not used any AOP here as still working with classes and not objects
if (!beanClass.isInterface()) {
Class<?>[] interfaces;
if (ClassUtils.isCglibProxyClass(beanClass)) {
interfaces = beanClass.getSuperclass().getInterfaces();
} else {
interfaces = beanClass.getInterfaces();
}
if (interfaces != null) {
for (Class<?> currentInterface: interfaces) {
Object[] r = scanInterface(currentInterface);
if (r != null) {
return r;
}
}
}
}
return DO_NOT_PROXY;
}
代码示例来源:origin: org.springframework.integration/spring-integration-core
private static Class<?> getTargetClass(Object targetObject) {
Class<?> targetClass = targetObject.getClass();
if (AopUtils.isAopProxy(targetObject)) {
targetClass = AopUtils.getTargetClass(targetObject);
}
else if (ClassUtils.isCglibProxyClass(targetClass)) {
Class<?> superClass = targetObject.getClass().getSuperclass();
if (!Object.class.equals(superClass)) {
targetClass = superClass;
}
}
return targetClass;
}
内容来源于网络,如有侵权,请联系作者删除!