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


Java BeanFactoryAware类代码示例

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


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

示例1: postProcessBeanFactory

import org.springframework.beans.factory.BeanFactoryAware; //导入依赖的package包/类
public void postProcessBeanFactory(BundleContext bundleContext, ConfigurableListableBeanFactory beanFactory)
		throws BeansException, OsgiException {

	Bundle bundle = bundleContext.getBundle();
	try {
		// Try and load the annotation code using the bundle classloader
		Class<?> annotationBppClass = bundle.loadClass(ANNOTATION_BPP_CLASS);
		// instantiate the class
		final BeanPostProcessor annotationBeanPostProcessor = (BeanPostProcessor) BeanUtils.instantiateClass(annotationBppClass);

		// everything went okay so configure the BPP and add it to the BF
		((BeanFactoryAware) annotationBeanPostProcessor).setBeanFactory(beanFactory);
		((BeanClassLoaderAware) annotationBeanPostProcessor).setBeanClassLoader(beanFactory.getBeanClassLoader());
		((BundleContextAware) annotationBeanPostProcessor).setBundleContext(bundleContext);
		beanFactory.addBeanPostProcessor(annotationBeanPostProcessor);
	}
	catch (ClassNotFoundException exception) {
		log.info("Spring-DM annotation package could not be loaded from bundle ["
				+ OsgiStringUtils.nullSafeNameAndSymName(bundle) + "]; annotation processing disabled...");
		if (log.isDebugEnabled())
			log.debug("Cannot load annotation injection processor", exception);
	}
}
 
开发者ID:eclipse,项目名称:gemini.blueprint,代码行数:24,代码来源:OsgiAnnotationPostProcessor.java

示例2: enforceExporterImporterDependency

import org.springframework.beans.factory.BeanFactoryAware; //导入依赖的package包/类
/**
 * Takes care of enforcing the relationship between exporter and importers.
 * 
 * @param beanFactory
 */
private void enforceExporterImporterDependency(ConfigurableListableBeanFactory beanFactory) {
	Object instance = null;

	instance = AccessController.doPrivileged(new PrivilegedAction<Object>() {

		public Object run() {
			// create the service manager
			ClassLoader loader = AbstractOsgiBundleApplicationContext.class.getClassLoader();
			try {
				Class<?> managerClass = loader.loadClass(EXPORTER_IMPORTER_DEPENDENCY_MANAGER);
				return BeanUtils.instantiateClass(managerClass);
			} catch (ClassNotFoundException cnfe) {
				throw new ApplicationContextException("Cannot load class " + EXPORTER_IMPORTER_DEPENDENCY_MANAGER,
						cnfe);
			}
		}
	});

	// sanity check
	Assert.isInstanceOf(BeanFactoryAware.class, instance);
	Assert.isInstanceOf(BeanPostProcessor.class, instance);
	((BeanFactoryAware) instance).setBeanFactory(beanFactory);
	beanFactory.addBeanPostProcessor((BeanPostProcessor) instance);
}
 
开发者ID:eclipse,项目名称:gemini.blueprint,代码行数:30,代码来源:AbstractOsgiBundleApplicationContext.java

示例3: invokeAwareMethods

import org.springframework.beans.factory.BeanFactoryAware; //导入依赖的package包/类
/**
 * Invoke {@link ResourceLoaderAware}, {@link BeanClassLoaderAware} and
 * {@link BeanFactoryAware} contracts if implemented by the given {@code bean}.
 */
private void invokeAwareMethods(Object importStrategyBean) {
	if (importStrategyBean instanceof Aware) {
		if (importStrategyBean instanceof EnvironmentAware) {
			((EnvironmentAware) importStrategyBean).setEnvironment(this.environment);
		}
		if (importStrategyBean instanceof ResourceLoaderAware) {
			((ResourceLoaderAware) importStrategyBean).setResourceLoader(this.resourceLoader);
		}
		if (importStrategyBean instanceof BeanClassLoaderAware) {
			ClassLoader classLoader = (this.registry instanceof ConfigurableBeanFactory ?
					((ConfigurableBeanFactory) this.registry).getBeanClassLoader() :
					this.resourceLoader.getClassLoader());
			((BeanClassLoaderAware) importStrategyBean).setBeanClassLoader(classLoader);
		}
		if (importStrategyBean instanceof BeanFactoryAware && this.registry instanceof BeanFactory) {
			((BeanFactoryAware) importStrategyBean).setBeanFactory((BeanFactory) this.registry);
		}
	}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:24,代码来源:ConfigurationClassParser.java

示例4: setAutowireCandidateResolver

import org.springframework.beans.factory.BeanFactoryAware; //导入依赖的package包/类
/**
 * Set a custom autowire candidate resolver for this BeanFactory to use
 * when deciding whether a bean definition should be considered as a
 * candidate for autowiring.
 */
public void setAutowireCandidateResolver(final AutowireCandidateResolver autowireCandidateResolver) {
	Assert.notNull(autowireCandidateResolver, "AutowireCandidateResolver must not be null");
	if (autowireCandidateResolver instanceof BeanFactoryAware) {
		if (System.getSecurityManager() != null) {
			final BeanFactory target = this;
			AccessController.doPrivileged(new PrivilegedAction<Object>() {
				@Override
				public Object run() {
					((BeanFactoryAware) autowireCandidateResolver).setBeanFactory(target);
					return null;
				}
			}, getAccessControlContext());
		}
		else {
			((BeanFactoryAware) autowireCandidateResolver).setBeanFactory(this);
		}
	}
	this.autowireCandidateResolver = autowireCandidateResolver;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:25,代码来源:DefaultListableBeanFactory.java

示例5: invokeAwareMethods

import org.springframework.beans.factory.BeanFactoryAware; //导入依赖的package包/类
/**
 * Invoke {@link ResourceLoaderAware}, {@link BeanClassLoaderAware} and
 * {@link BeanFactoryAware} contracts if implemented by the given {@code filter}.
 */
private void invokeAwareMethods(TypeFilter filter) {
	if (filter instanceof Aware) {
		if (filter instanceof EnvironmentAware) {
			((EnvironmentAware) filter).setEnvironment(this.environment);
		}
		if (filter instanceof ResourceLoaderAware) {
			((ResourceLoaderAware) filter).setResourceLoader(this.resourceLoader);
		}
		if (filter instanceof BeanClassLoaderAware) {
			ClassLoader classLoader = (this.registry instanceof ConfigurableBeanFactory ?
					((ConfigurableBeanFactory) this.registry).getBeanClassLoader() :
					this.resourceLoader.getClassLoader());
			((BeanClassLoaderAware) filter).setBeanClassLoader(classLoader);
		}
		if (filter instanceof BeanFactoryAware && this.registry instanceof BeanFactory) {
			((BeanFactoryAware) filter).setBeanFactory((BeanFactory) this.registry);
		}
	}
}
 
开发者ID:txazo,项目名称:spring,代码行数:24,代码来源:ComponentScanAnnotationParser.java

示例6: invokeAwareMethods

import org.springframework.beans.factory.BeanFactoryAware; //导入依赖的package包/类
/**
 * Invoke {@link EnvironmentAware}, {@link ResourceLoaderAware}, {@link BeanClassLoaderAware}
 * and {@link BeanFactoryAware} contracts if implemented by the given {@code registrar}.
 */
private void invokeAwareMethods(ImportBeanDefinitionRegistrar registrar) {
	if (registrar instanceof Aware) {
		if (registrar instanceof EnvironmentAware) {
			((EnvironmentAware) registrar).setEnvironment(this.environment);
		}
		if (registrar instanceof ResourceLoaderAware) {
			((ResourceLoaderAware) registrar).setResourceLoader(this.resourceLoader);
		}
		if (registrar instanceof BeanClassLoaderAware) {
			ClassLoader classLoader = (this.registry instanceof ConfigurableBeanFactory ?
					((ConfigurableBeanFactory) this.registry).getBeanClassLoader() :
					this.resourceLoader.getClassLoader());
			((BeanClassLoaderAware) registrar).setBeanClassLoader(classLoader);
		}
		if (registrar instanceof BeanFactoryAware && this.registry instanceof BeanFactory) {
			((BeanFactoryAware) registrar).setBeanFactory((BeanFactory) this.registry);
		}
	}
}
 
开发者ID:lindzh,项目名称:mybatis-spring-1.2.2,代码行数:24,代码来源:ConfigurationClassParser.java

示例7: setAutowireCandidateResolver

import org.springframework.beans.factory.BeanFactoryAware; //导入依赖的package包/类
/**
 * Set a custom autowire candidate resolver for this BeanFactory to use
 * when deciding whether a bean definition should be considered as a
 * candidate for autowiring.
 */
public void setAutowireCandidateResolver(final AutowireCandidateResolver autowireCandidateResolver) {
	Assert.notNull(autowireCandidateResolver, "AutowireCandidateResolver must not be null");
	if (autowireCandidateResolver instanceof BeanFactoryAware) {
		if (System.getSecurityManager() != null) {
			final BeanFactory target = this;
			AccessController.doPrivileged(new PrivilegedAction<Object>() {
				public Object run() {
					((BeanFactoryAware) autowireCandidateResolver).setBeanFactory(target);
					return null;
				}
			}, getAccessControlContext());
		}
		else {
			((BeanFactoryAware) autowireCandidateResolver).setBeanFactory(this);
		}
	}
	this.autowireCandidateResolver = autowireCandidateResolver;
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:24,代码来源:DefaultListableBeanFactory.java

示例8: setAutowireCandidateResolver

import org.springframework.beans.factory.BeanFactoryAware; //导入依赖的package包/类
/**
 * Set a custom autowire candidate resolver for this BeanFactory to use
 * when deciding whether a bean definition should be considered as a
 * candidate for autowiring.
 */
public void setAutowireCandidateResolver(final AutowireCandidateResolver autowireCandidateResolver) {
	Assert.notNull(autowireCandidateResolver, "AutowireCandidateResolver must not be null");
	if (autowireCandidateResolver instanceof BeanFactoryAware) {
		if (System.getSecurityManager() != null) {
			final BeanFactory target = this;
			AccessController.doPrivileged(new PrivilegedAction<Object>() {
				@Override
                   public Object run() {
					((BeanFactoryAware) autowireCandidateResolver).setBeanFactory(target);
					return null;
				}
			}, getAccessControlContext());
		}
		else {
			((BeanFactoryAware) autowireCandidateResolver).setBeanFactory(this);
		}
	}
	this.autowireCandidateResolver = autowireCandidateResolver;
}
 
开发者ID:kuali,项目名称:kfs,代码行数:25,代码来源:DefaultListableBeanFactory.java

示例9: postProcessBeanFactory

import org.springframework.beans.factory.BeanFactoryAware; //导入依赖的package包/类
public void postProcessBeanFactory(BundleContext bundleContext, ConfigurableListableBeanFactory beanFactory)
		throws BeansException, OsgiException {

	Bundle bundle = bundleContext.getBundle();
	try {
		// Try and load the annotation code using the bundle classloader
		Class annotationBppClass = bundle.loadClass(ANNOTATION_BPP_CLASS);
		// instantiate the class
		final BeanPostProcessor annotationBeanPostProcessor = (BeanPostProcessor) BeanUtils.instantiateClass(annotationBppClass);

		// everything went okay so configure the BPP and add it to the BF
		((BeanFactoryAware) annotationBeanPostProcessor).setBeanFactory(beanFactory);
		((BeanClassLoaderAware) annotationBeanPostProcessor).setBeanClassLoader(beanFactory.getBeanClassLoader());
		((BundleContextAware) annotationBeanPostProcessor).setBundleContext(bundleContext);
		beanFactory.addBeanPostProcessor(annotationBeanPostProcessor);
	}
	catch (ClassNotFoundException exception) {
		log.info("Spring-DM annotation package could not be loaded from bundle ["
				+ OsgiStringUtils.nullSafeNameAndSymName(bundle) + "]; annotation processing disabled...");
		if (log.isDebugEnabled())
			log.debug("Cannot load annotation injection processor", exception);
	}
}
 
开发者ID:BeamFoundry,项目名称:spring-osgi,代码行数:24,代码来源:OsgiAnnotationPostProcessor.java

示例10: enforceExporterImporterDependency

import org.springframework.beans.factory.BeanFactoryAware; //导入依赖的package包/类
/**
 * Takes care of enforcing the relationship between exporter and importers.
 * 
 * @param beanFactory
 */
private void enforceExporterImporterDependency(ConfigurableListableBeanFactory beanFactory) {
	Object instance = null;

	instance = AccessController.doPrivileged(new PrivilegedAction() {

		public Object run() {
			// create the service manager
			ClassLoader loader = AbstractOsgiBundleApplicationContext.class.getClassLoader();
			try {
				Class managerClass = loader.loadClass(EXPORTER_IMPORTER_DEPENDENCY_MANAGER);
				return BeanUtils.instantiateClass(managerClass);
			}
			catch (ClassNotFoundException cnfe) {
				throw new ApplicationContextException("Cannot load class " + EXPORTER_IMPORTER_DEPENDENCY_MANAGER,
					cnfe);
			}
		}
	});

	// sanity check
	Assert.isInstanceOf(BeanFactoryAware.class, instance);
	Assert.isInstanceOf(BeanPostProcessor.class, instance);
	((BeanFactoryAware) instance).setBeanFactory(beanFactory);
	beanFactory.addBeanPostProcessor((BeanPostProcessor) instance);
}
 
开发者ID:BeamFoundry,项目名称:spring-osgi,代码行数:31,代码来源:AbstractOsgiBundleApplicationContext.java

示例11: setBeanFactory

import org.springframework.beans.factory.BeanFactoryAware; //导入依赖的package包/类
/**
 * Set the {@code BeanFactory} to be used when looking up executors by qualifier.
 */
@Override
public void setBeanFactory(BeanFactory beanFactory) {
	if (this.advice instanceof BeanFactoryAware) {
		((BeanFactoryAware) this.advice).setBeanFactory(beanFactory);
	}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:10,代码来源:AsyncAnnotationAdvisor.java

示例12: intercept

import org.springframework.beans.factory.BeanFactoryAware; //导入依赖的package包/类
@Override
public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable {
	Field field = obj.getClass().getDeclaredField(BEAN_FACTORY_FIELD);
	Assert.state(field != null, "Unable to find generated BeanFactory field");
	field.set(obj, args[0]);

	// Does the actual (non-CGLIB) superclass actually implement BeanFactoryAware?
	// If so, call its setBeanFactory() method. If not, just exit.
	if (BeanFactoryAware.class.isAssignableFrom(obj.getClass().getSuperclass())) {
		return proxy.invokeSuper(obj, args);
	}
	return null;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:14,代码来源:ConfigurationClassEnhancer.java

示例13: isMatch

import org.springframework.beans.factory.BeanFactoryAware; //导入依赖的package包/类
@Override
public boolean isMatch(Method candidateMethod) {
	return candidateMethod.getName().equals("setBeanFactory") &&
			candidateMethod.getParameterTypes().length == 1 &&
			candidateMethod.getParameterTypes()[0].equals(BeanFactory.class) &&
			BeanFactoryAware.class.isAssignableFrom(candidateMethod.getDeclaringClass());
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:8,代码来源:ConfigurationClassEnhancer.java

示例14: AbstractAutowireCapableBeanFactory

import org.springframework.beans.factory.BeanFactoryAware; //导入依赖的package包/类
/**
 * Create a new AbstractAutowireCapableBeanFactory.
 */
public AbstractAutowireCapableBeanFactory() {
	super();
	ignoreDependencyInterface(BeanNameAware.class);
	ignoreDependencyInterface(BeanFactoryAware.class);
	ignoreDependencyInterface(BeanClassLoaderAware.class);
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:10,代码来源:AbstractAutowireCapableBeanFactory.java

示例15: invokeAwareMethods

import org.springframework.beans.factory.BeanFactoryAware; //导入依赖的package包/类
private void invokeAwareMethods(final String beanName, final Object bean) {
	if (bean instanceof Aware) {
		if (bean instanceof BeanNameAware) {
			((BeanNameAware) bean).setBeanName(beanName);
		}
		if (bean instanceof BeanClassLoaderAware) {
			((BeanClassLoaderAware) bean).setBeanClassLoader(getBeanClassLoader());
		}
		if (bean instanceof BeanFactoryAware) {
			((BeanFactoryAware) bean).setBeanFactory(AbstractAutowireCapableBeanFactory.this);
		}
	}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:14,代码来源:AbstractAutowireCapableBeanFactory.java


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