当前位置: 首页>>代码示例>>Java>>正文


Java DecoratingClassLoader类代码示例

本文整理汇总了Java中org.springframework.core.DecoratingClassLoader的典型用法代码示例。如果您正苦于以下问题:Java DecoratingClassLoader类的具体用法?Java DecoratingClassLoader怎么用?Java DecoratingClassLoader使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


DecoratingClassLoader类属于org.springframework.core包,在下文中一共展示了DecoratingClassLoader类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: doResolveBeanClass

import org.springframework.core.DecoratingClassLoader; //导入依赖的package包/类
private Class<?> doResolveBeanClass(RootBeanDefinition mbd, Class<?>... typesToMatch) throws ClassNotFoundException {
	if (!ObjectUtils.isEmpty(typesToMatch)) {
		ClassLoader tempClassLoader = getTempClassLoader();
		if (tempClassLoader != null) {
			if (tempClassLoader instanceof DecoratingClassLoader) {
				DecoratingClassLoader dcl = (DecoratingClassLoader) tempClassLoader;
				for (Class<?> typeToMatch : typesToMatch) {
					dcl.excludeClass(typeToMatch.getName());
				}
			}
			String className = mbd.getBeanClassName();
			return (className != null ? ClassUtils.forName(className, tempClassLoader) : null);
		}
	}
	return mbd.resolveBeanClass(getBeanClassLoader());
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:17,代码来源:AbstractBeanFactory.java

示例2: getNewTempClassLoader

import org.springframework.core.DecoratingClassLoader; //导入依赖的package包/类
/**
 * This implementation delegates to the LoadTimeWeaver, if specified.
 */
@Override
public ClassLoader getNewTempClassLoader() {
	ClassLoader tcl = (this.loadTimeWeaver != null ? this.loadTimeWeaver.getThrowawayClassLoader() :
			new SimpleThrowawayClassLoader(this.classLoader));
	String packageToExclude = getPersistenceProviderPackageName();
	if (packageToExclude != null && tcl instanceof DecoratingClassLoader) {
		((DecoratingClassLoader) tcl).excludePackage(packageToExclude);
	}
	return tcl;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:14,代码来源:SpringPersistenceUnitInfo.java

示例3: doResolveBeanClass

import org.springframework.core.DecoratingClassLoader; //导入依赖的package包/类
private Class<?> doResolveBeanClass(RootBeanDefinition mbd, Class<?>... typesToMatch) throws ClassNotFoundException {
	ClassLoader beanClassLoader = getBeanClassLoader();
	ClassLoader classLoaderToUse = beanClassLoader;
	if (!ObjectUtils.isEmpty(typesToMatch)) {
		// When just doing type checks (i.e. not creating an actual instance yet),
		// use the specified temporary class loader (e.g. in a weaving scenario).
		ClassLoader tempClassLoader = getTempClassLoader();
		if (tempClassLoader != null) {
			classLoaderToUse = tempClassLoader;
			if (tempClassLoader instanceof DecoratingClassLoader) {
				DecoratingClassLoader dcl = (DecoratingClassLoader) tempClassLoader;
				for (Class<?> typeToMatch : typesToMatch) {
					dcl.excludeClass(typeToMatch.getName());
				}
			}
		}
	}
	String className = mbd.getBeanClassName();
	if (className != null) {
		Object evaluated = evaluateBeanDefinitionString(className, mbd);
		if (!className.equals(evaluated)) {
			// A dynamically resolved expression, supported as of 4.2...
			if (evaluated instanceof Class) {
				return (Class<?>) evaluated;
			}
			else if (evaluated instanceof String) {
				return ClassUtils.forName((String) evaluated, classLoaderToUse);
			}
			else {
				throw new IllegalStateException("Invalid class name expression result: " + evaluated);
			}
		}
		// When resolving against a temporary class loader, exit early in order
		// to avoid storing the resolved Class in the bean definition.
		if (classLoaderToUse != beanClassLoader) {
			return ClassUtils.forName(className, classLoaderToUse);
		}
	}
	return mbd.resolveBeanClass(beanClassLoader);
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:41,代码来源:AbstractBeanFactory.java

示例4: getThrowawayClassLoader

import org.springframework.core.DecoratingClassLoader; //导入依赖的package包/类
@Override
public ClassLoader getThrowawayClassLoader() {
	if (this.getThrowawayClassLoaderMethod != null) {
		ClassLoader target = (ClassLoader)
				ReflectionUtils.invokeMethod(this.getThrowawayClassLoaderMethod, this.classLoader);
		return (target instanceof DecoratingClassLoader ? target :
				new OverridingClassLoader(this.classLoader, target));
	}
	else {
		return new SimpleThrowawayClassLoader(this.classLoader);
	}
}
 
开发者ID:txazo,项目名称:spring,代码行数:13,代码来源:ReflectiveLoadTimeWeaver.java


注:本文中的org.springframework.core.DecoratingClassLoader类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。