org.springframework.context.EnvironmentAware#org.springframework.beans.factory.BeanFactoryAware源码实例Demo

下面列出了org.springframework.context.EnvironmentAware#org.springframework.beans.factory.BeanFactoryAware 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

/**
 * Invoke {@link BeanClassLoaderAware}, {@link BeanFactoryAware},
 * {@link EnvironmentAware}, and {@link ResourceLoaderAware} contracts
 * if implemented by the given object.
 */
public static void invokeAwareMethods(Object parserStrategyBean, Environment environment,
		ResourceLoader resourceLoader, BeanDefinitionRegistry registry) {

	if (parserStrategyBean instanceof Aware) {
		if (parserStrategyBean instanceof BeanClassLoaderAware) {
			ClassLoader classLoader = (registry instanceof ConfigurableBeanFactory ?
					((ConfigurableBeanFactory) registry).getBeanClassLoader() : resourceLoader.getClassLoader());
			if (classLoader != null) {
				((BeanClassLoaderAware) parserStrategyBean).setBeanClassLoader(classLoader);
			}
		}
		if (parserStrategyBean instanceof BeanFactoryAware && registry instanceof BeanFactory) {
			((BeanFactoryAware) parserStrategyBean).setBeanFactory((BeanFactory) registry);
		}
		if (parserStrategyBean instanceof EnvironmentAware) {
			((EnvironmentAware) parserStrategyBean).setEnvironment(environment);
		}
		if (parserStrategyBean instanceof ResourceLoaderAware) {
			((ResourceLoaderAware) parserStrategyBean).setResourceLoader(resourceLoader);
		}
	}
}
 
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) {
			ClassLoader bcl = getBeanClassLoader();
			if (bcl != null) {
				((BeanClassLoaderAware) bean).setBeanClassLoader(bcl);
			}
		}
		if (bean instanceof BeanFactoryAware) {
			((BeanFactoryAware) bean).setBeanFactory(AbstractAutowireCapableBeanFactory.this);
		}
	}
}
 
/**
 * 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) {
			AccessController.doPrivileged((PrivilegedAction<Object>) () -> {
				((BeanFactoryAware) autowireCandidateResolver).setBeanFactory(DefaultListableBeanFactory.this);
				return null;
			}, getAccessControlContext());
		}
		else {
			((BeanFactoryAware) autowireCandidateResolver).setBeanFactory(this);
		}
	}
	this.autowireCandidateResolver = autowireCandidateResolver;
}
 
/**
 * Invoke {@link BeanClassLoaderAware}, {@link BeanFactoryAware},
 * {@link EnvironmentAware}, and {@link ResourceLoaderAware} contracts
 * if implemented by the given object.
 */
public static void invokeAwareMethods(Object parserStrategyBean, Environment environment,
		ResourceLoader resourceLoader, BeanDefinitionRegistry registry) {

	if (parserStrategyBean instanceof Aware) {
		if (parserStrategyBean instanceof BeanClassLoaderAware) {
			ClassLoader classLoader = (registry instanceof ConfigurableBeanFactory ?
					((ConfigurableBeanFactory) registry).getBeanClassLoader() : resourceLoader.getClassLoader());
			if (classLoader != null) {
				((BeanClassLoaderAware) parserStrategyBean).setBeanClassLoader(classLoader);
			}
		}
		if (parserStrategyBean instanceof BeanFactoryAware && registry instanceof BeanFactory) {
			((BeanFactoryAware) parserStrategyBean).setBeanFactory((BeanFactory) registry);
		}
		if (parserStrategyBean instanceof EnvironmentAware) {
			((EnvironmentAware) parserStrategyBean).setEnvironment(environment);
		}
		if (parserStrategyBean instanceof ResourceLoaderAware) {
			((ResourceLoaderAware) parserStrategyBean).setResourceLoader(resourceLoader);
		}
	}
}
 
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) {
			ClassLoader bcl = getBeanClassLoader();
			if (bcl != null) {
				((BeanClassLoaderAware) bean).setBeanClassLoader(bcl);
			}
		}
		if (bean instanceof BeanFactoryAware) {
			((BeanFactoryAware) bean).setBeanFactory(AbstractAutowireCapableBeanFactory.this);
		}
	}
}
 
/**
 * 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) {
			AccessController.doPrivileged((PrivilegedAction<Object>) () -> {
				((BeanFactoryAware) autowireCandidateResolver).setBeanFactory(DefaultListableBeanFactory.this);
				return null;
			}, getAccessControlContext());
		}
		else {
			((BeanFactoryAware) autowireCandidateResolver).setBeanFactory(this);
		}
	}
	this.autowireCandidateResolver = autowireCandidateResolver;
}
 
源代码7 项目: spring-init   文件: FunctionalInstallerListener.java
public static void invokeAwareMethods(Object target, Environment environment, ResourceLoader resourceLoader,
		BeanDefinitionRegistry registry) {

	if (target instanceof Aware) {
		if (target instanceof BeanClassLoaderAware) {
			ClassLoader classLoader = (registry instanceof ConfigurableBeanFactory
					? ((ConfigurableBeanFactory) registry).getBeanClassLoader() : resourceLoader.getClassLoader());
			if (classLoader != null) {
				((BeanClassLoaderAware) target).setBeanClassLoader(classLoader);
			}
		}
		if (target instanceof BeanFactoryAware && registry instanceof BeanFactory) {
			((BeanFactoryAware) target).setBeanFactory((BeanFactory) registry);
		}
		if (target instanceof EnvironmentAware) {
			((EnvironmentAware) target).setEnvironment(environment);
		}
		if (target instanceof ResourceLoaderAware) {
			((ResourceLoaderAware) target).setResourceLoader(resourceLoader);
		}
	}
}
 
源代码8 项目: lams   文件: ParserStrategyUtils.java
/**
 * Invoke {@link BeanClassLoaderAware}, {@link BeanFactoryAware},
 * {@link EnvironmentAware}, and {@link ResourceLoaderAware} contracts
 * if implemented by the given object.
 */
public static void invokeAwareMethods(Object parserStrategyBean, Environment environment,
		ResourceLoader resourceLoader, BeanDefinitionRegistry registry) {

	if (parserStrategyBean instanceof Aware) {
		if (parserStrategyBean instanceof BeanClassLoaderAware) {
			ClassLoader classLoader = (registry instanceof ConfigurableBeanFactory ?
					((ConfigurableBeanFactory) registry).getBeanClassLoader() : resourceLoader.getClassLoader());
			((BeanClassLoaderAware) parserStrategyBean).setBeanClassLoader(classLoader);
		}
		if (parserStrategyBean instanceof BeanFactoryAware && registry instanceof BeanFactory) {
			((BeanFactoryAware) parserStrategyBean).setBeanFactory((BeanFactory) registry);
		}
		if (parserStrategyBean instanceof EnvironmentAware) {
			((EnvironmentAware) parserStrategyBean).setEnvironment(environment);
		}
		if (parserStrategyBean instanceof ResourceLoaderAware) {
			((ResourceLoaderAware) parserStrategyBean).setResourceLoader(resourceLoader);
		}
	}
}
 
源代码9 项目: lams   文件: DefaultListableBeanFactory.java
/**
 * 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) {
			AccessController.doPrivileged(new PrivilegedAction<Object>() {
				@Override
				public Object run() {
					((BeanFactoryAware) autowireCandidateResolver).setBeanFactory(DefaultListableBeanFactory.this);
					return null;
				}
			}, getAccessControlContext());
		}
		else {
			((BeanFactoryAware) autowireCandidateResolver).setBeanFactory(this);
		}
	}
	this.autowireCandidateResolver = autowireCandidateResolver;
}
 
源代码10 项目: blog_demos   文件: DefaultListableBeanFactory.java
/**
 * 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;
}
 
/**
 * 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);
		}
	}
}
 
/**
 * 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;
}
 
源代码13 项目: kfs   文件: DefaultListableBeanFactory.java
/**
 * 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;
}
 
/**
 * init config
 */
public ApiBootDataSourceSwitchAdvisor(ApiBootDataSourceSwitchAnnotationInterceptor apiBootDataSourceSwitchAnnotationInterceptor) {
    // build pointcut instance
    this.pointcut = buildPointcut();
    // build advice instance
    this.advice = apiBootDataSourceSwitchAnnotationInterceptor;
    if (this.advice instanceof BeanFactoryAware) {
        ((BeanFactoryAware) this.advice).setBeanFactory(beanFactory);
    }
}
 
/**
 * 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);
	}
}
 
@Override
@Nullable
public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable {
	Field field = ReflectionUtils.findField(obj.getClass(), BEAN_FACTORY_FIELD);
	Assert.state(field != null, "Unable to find generated BeanFactory field");
	field.set(obj, args[0]);

	// Does the actual (non-CGLIB) superclass implement BeanFactoryAware?
	// If so, call its setBeanFactory() method. If not, just exit.
	if (BeanFactoryAware.class.isAssignableFrom(ClassUtils.getUserClass(obj.getClass().getSuperclass()))) {
		return proxy.invokeSuper(obj, args);
	}
	return null;
}
 
/**
 * Create a new AbstractAutowireCapableBeanFactory.
 */
public AbstractAutowireCapableBeanFactory() {
	super();
	ignoreDependencyInterface(BeanNameAware.class);
	ignoreDependencyInterface(BeanFactoryAware.class);
	ignoreDependencyInterface(BeanClassLoaderAware.class);
}
 
/**
 * 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);
	}
}
 
@Override
@Nullable
public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable {
	Field field = ReflectionUtils.findField(obj.getClass(), BEAN_FACTORY_FIELD);
	Assert.state(field != null, "Unable to find generated BeanFactory field");
	field.set(obj, args[0]);

	// Does the actual (non-CGLIB) superclass implement BeanFactoryAware?
	// If so, call its setBeanFactory() method. If not, just exit.
	if (BeanFactoryAware.class.isAssignableFrom(ClassUtils.getUserClass(obj.getClass().getSuperclass()))) {
		return proxy.invokeSuper(obj, args);
	}
	return null;
}
 
/**
 * Create a new AbstractAutowireCapableBeanFactory.
 */
public AbstractAutowireCapableBeanFactory() {
	super();
	ignoreDependencyInterface(BeanNameAware.class);
	ignoreDependencyInterface(BeanFactoryAware.class);
	ignoreDependencyInterface(BeanClassLoaderAware.class);
}
 
源代码21 项目: api-boot   文件: ApiBootResourceLoadAdvisor.java
public ApiBootResourceLoadAdvisor(ApiBootResourceLoadMethodInterceptor apiBootResourceLoadMethodInterceptor) {
    // build pointcut instance
    this.pointcut = buildPointcut();
    // build advice instance
    this.advice = apiBootResourceLoadMethodInterceptor;
    if (this.advice instanceof BeanFactoryAware) {
        ((BeanFactoryAware) this.advice).setBeanFactory(beanFactory);
    }
}
 
源代码22 项目: api-boot   文件: ApiBootRateLimiterAdvisor.java
public ApiBootRateLimiterAdvisor(ApiBootRateLimiterMethodInterceptor apiBootRateLimiterMethodInterceptor) {
    // build pointcut instance
    this.pointcut = buildPointcut();
    // build advice instance
    this.advice = apiBootRateLimiterMethodInterceptor;
    if (this.advice instanceof BeanFactoryAware) {
        ((BeanFactoryAware) this.advice).setBeanFactory(beanFactory);
    }
}
 
public ApiBootMessagePushClientSwitchAdvisor(ApiBootMessagePushSwitchAnnotationInterceptor apiBootMessagePushSwitchAnnotationInterceptor) {
    // build pointcut instance
    this.pointcut = buildPointcut();
    // build advice instance
    this.advice = apiBootMessagePushSwitchAnnotationInterceptor;
    if (this.advice instanceof BeanFactoryAware) {
        ((BeanFactoryAware) this.advice).setBeanFactory(beanFactory);
    }
}
 
源代码24 项目: api-boot   文件: ApiBootDataSourceSwitchAdvisor.java
/**
 * Initialize global variables using constructor
 *
 * @param apiBootDataSourceSwitchAnnotationInterceptor {@link ApiBootDataSourceSwitchAnnotationInterceptor}
 */
public ApiBootDataSourceSwitchAdvisor(ApiBootDataSourceSwitchAnnotationInterceptor apiBootDataSourceSwitchAnnotationInterceptor) {
    // build pointcut instance
    this.pointcut = buildPointcut();
    // build advice instance
    this.advice = apiBootDataSourceSwitchAnnotationInterceptor;
    if (this.advice instanceof BeanFactoryAware) {
        ((BeanFactoryAware) this.advice).setBeanFactory(beanFactory);
    }
}
 
源代码25 项目: micronaut-spring   文件: SpringAwareListener.java
private void wireAwareObjects(Object bean) {
    if (bean instanceof EnvironmentAware) {
        ((EnvironmentAware) bean).setEnvironment(environmentProvider.get());
    }
    if (bean instanceof BeanFactoryAware) {
        ((BeanFactoryAware) bean).setBeanFactory(beanFactoryProvider.get());
    }
    if (bean instanceof ApplicationContextAware) {
        ((ApplicationContextAware) bean).setApplicationContext(applicationContextProvider.get());
    }
}
 
源代码26 项目: lams   文件: AsyncAnnotationAdvisor.java
/**
 * 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);
	}
}
 
源代码27 项目: lams   文件: ConfigurationClassEnhancer.java
@Override
public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable {
	Field field = ReflectionUtils.findField(obj.getClass(), BEAN_FACTORY_FIELD);
	Assert.state(field != null, "Unable to find generated BeanFactory field");
	field.set(obj, args[0]);

	// Does the actual (non-CGLIB) superclass implement BeanFactoryAware?
	// If so, call its setBeanFactory() method. If not, just exit.
	if (BeanFactoryAware.class.isAssignableFrom(ClassUtils.getUserClass(obj.getClass().getSuperclass()))) {
		return proxy.invokeSuper(obj, args);
	}
	return null;
}
 
源代码28 项目: lams   文件: ConfigurationClassEnhancer.java
@Override
public boolean isMatch(Method candidateMethod) {
	return (candidateMethod.getName().equals("setBeanFactory") &&
			candidateMethod.getParameterTypes().length == 1 &&
			BeanFactory.class == candidateMethod.getParameterTypes()[0] &&
			BeanFactoryAware.class.isAssignableFrom(candidateMethod.getDeclaringClass()));
}
 
源代码29 项目: lams   文件: AbstractAutowireCapableBeanFactory.java
/**
 * Create a new AbstractAutowireCapableBeanFactory.
 */
public AbstractAutowireCapableBeanFactory() {
	super();
	ignoreDependencyInterface(BeanNameAware.class);
	ignoreDependencyInterface(BeanFactoryAware.class);
	ignoreDependencyInterface(BeanClassLoaderAware.class);
}
 
源代码30 项目: lams   文件: AbstractAutowireCapableBeanFactory.java
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);
		}
	}
}