當前位置: 首頁>>代碼示例>>Java>>正文


Java ApplicationContextAware類代碼示例

本文整理匯總了Java中org.springframework.context.ApplicationContextAware的典型用法代碼示例。如果您正苦於以下問題:Java ApplicationContextAware類的具體用法?Java ApplicationContextAware怎麽用?Java ApplicationContextAware使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


ApplicationContextAware類屬於org.springframework.context包,在下文中一共展示了ApplicationContextAware類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: postProcessBeforeInitialization

import org.springframework.context.ApplicationContextAware; //導入依賴的package包/類
@Override
public Object postProcessBeforeInitialization(final Object bean, String beanName) throws BeansException {
	AccessControlContext acc = null;

	if (System.getSecurityManager() != null &&
			(bean instanceof EnvironmentAware || bean instanceof EmbeddedValueResolverAware ||
					bean instanceof ResourceLoaderAware || bean instanceof ApplicationEventPublisherAware ||
					bean instanceof MessageSourceAware || bean instanceof ApplicationContextAware)) {
		acc = this.applicationContext.getBeanFactory().getAccessControlContext();
	}

	if (acc != null) {
		AccessController.doPrivileged(new PrivilegedAction<Object>() {
			@Override
			public Object run() {
				invokeAwareInterfaces(bean);
				return null;
			}
		}, acc);
	}
	else {
		invokeAwareInterfaces(bean);
	}

	return bean;
}
 
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:27,代碼來源:ApplicationContextAwareProcessor.java

示例2: invokeAwareInterfaces

import org.springframework.context.ApplicationContextAware; //導入依賴的package包/類
private void invokeAwareInterfaces(Object bean) {
	if (bean instanceof Aware) {
		if (bean instanceof EnvironmentAware) {
			((EnvironmentAware) bean).setEnvironment(this.applicationContext.getEnvironment());
		}
		if (bean instanceof EmbeddedValueResolverAware) {
			((EmbeddedValueResolverAware) bean).setEmbeddedValueResolver(
					new EmbeddedValueResolver(this.applicationContext.getBeanFactory()));
		}
		if (bean instanceof ResourceLoaderAware) {
			((ResourceLoaderAware) bean).setResourceLoader(this.applicationContext);
		}
		if (bean instanceof ApplicationEventPublisherAware) {
			((ApplicationEventPublisherAware) bean).setApplicationEventPublisher(this.applicationContext);
		}
		if (bean instanceof MessageSourceAware) {
			((MessageSourceAware) bean).setMessageSource(this.applicationContext);
		}
		if (bean instanceof ApplicationContextAware) {
			((ApplicationContextAware) bean).setApplicationContext(this.applicationContext);
		}
	}
}
 
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:24,代碼來源:ApplicationContextAwareProcessor.java

示例3: invokeAwareInterfaces

import org.springframework.context.ApplicationContextAware; //導入依賴的package包/類
/**��beanʵ�ֵ�aware�������лص�
 * @param bean
 */
private void invokeAwareInterfaces(Object bean) {
	if (bean instanceof Aware) {
		if (bean instanceof EnvironmentAware) {
			((EnvironmentAware) bean).setEnvironment(this.applicationContext.getEnvironment());
		}
		if (bean instanceof EmbeddedValueResolverAware) {
			((EmbeddedValueResolverAware) bean).setEmbeddedValueResolver(
					new EmbeddedValueResolver(this.applicationContext.getBeanFactory()));
		}
		if (bean instanceof ResourceLoaderAware) {
			((ResourceLoaderAware) bean).setResourceLoader(this.applicationContext);
		}
		if (bean instanceof ApplicationEventPublisherAware) {
			((ApplicationEventPublisherAware) bean).setApplicationEventPublisher(this.applicationContext);
		}
		if (bean instanceof MessageSourceAware) {
			((MessageSourceAware) bean).setMessageSource(this.applicationContext);
		}
		if (bean instanceof ApplicationContextAware) {
			((ApplicationContextAware) bean).setApplicationContext(this.applicationContext);
		}
	}
}
 
開發者ID:langtianya,項目名稱:spring4-understanding,代碼行數:27,代碼來源:ApplicationContextAwareProcessor.java

示例4: configureHandlerExceptionResolvers

import org.springframework.context.ApplicationContextAware; //導入依賴的package包/類
@Override
protected void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers) {
	if (handlerExceptionResolvers == null) {
		return;
	}
	for (HandlerExceptionResolver resolver : handlerExceptionResolvers) {
		if (resolver instanceof ApplicationContextAware) {
			((ApplicationContextAware) resolver).setApplicationContext(getApplicationContext());
		}
		if (resolver instanceof InitializingBean) {
			try {
				((InitializingBean) resolver).afterPropertiesSet();
			}
			catch (Exception ex) {
				throw new IllegalStateException("Failure from afterPropertiesSet", ex);
			}
		}
		exceptionResolvers.add(resolver);
	}
}
 
開發者ID:langtianya,項目名稱:spring4-understanding,代碼行數:21,代碼來源:StandaloneMockMvcBuilder.java

示例5: createBean

import org.springframework.context.ApplicationContextAware; //導入依賴的package包/類
public static <T> T createBean(Class<T> clazz, Settings settings, ApplicationContext applicationContext) throws Exception {
	if (clazz == null || clazz.isInterface() || Modifier.isAbstract(clazz.getModifiers())) {
		return null;
	}

	T bean = clazz.newInstance();

	if (bean instanceof SettingsAware) {
		((SettingsAware) bean).setSettings(settings);
	}

	if (bean instanceof ApplicationContextAware) {
		((ApplicationContextAware) bean).setApplicationContext(applicationContext);
	}

	if (bean instanceof InitializingBean) {
		((InitializingBean) bean).afterPropertiesSet();
	}

	return bean;
}
 
開發者ID:iceize,項目名稱:netty-http-3.x,代碼行數:22,代碼來源:BeanUtils.java

示例6: invokeAwareInterfaces

import org.springframework.context.ApplicationContextAware; //導入依賴的package包/類
private void invokeAwareInterfaces(Object bean) {
	if (bean instanceof Aware) {
		if (bean instanceof EnvironmentAware) {
			((EnvironmentAware) bean).setEnvironment(this.applicationContext.getEnvironment());
		}
		if (bean instanceof EmbeddedValueResolverAware) {
			((EmbeddedValueResolverAware) bean).setEmbeddedValueResolver(this.embeddedValueResolver);
		}
		if (bean instanceof ResourceLoaderAware) {
			((ResourceLoaderAware) bean).setResourceLoader(this.applicationContext);
		}
		if (bean instanceof ApplicationEventPublisherAware) {
			((ApplicationEventPublisherAware) bean).setApplicationEventPublisher(this.applicationContext);
		}
		if (bean instanceof MessageSourceAware) {
			((MessageSourceAware) bean).setMessageSource(this.applicationContext);
		}
		if (bean instanceof ApplicationContextAware) {
			((ApplicationContextAware) bean).setApplicationContext(this.applicationContext);
		}
	}
}
 
開發者ID:txazo,項目名稱:spring,代碼行數:23,代碼來源:ApplicationContextAwareProcessor.java

示例7: createInstance

import org.springframework.context.ApplicationContextAware; //導入依賴的package包/類
protected Object createInstance() throws Exception {
	if(guzzContext == null){
		guzzContext = (GuzzContext) this.getBeanFactory().getBean("guzzContext") ;
	}
	
	if(guzzContext == null){
		throw new GuzzException("guzzContext not found. put guzzContext bean in front of this bean.") ;
	}
	
	service = guzzContext.getService(serviceName) ;
	
	if(service == null){
		throw new GuzzException("service not found. service name is:" + this.serviceName) ;
	}
	
	if(service instanceof ApplicationContextAware){
		((ApplicationContextAware) service).setApplicationContext(applicationContext) ;
	}
	
	return service;
}
 
開發者ID:ryanwli,項目名稱:guzz,代碼行數:22,代碼來源:GuzzServiceFactoryBean.java

示例8: postProcessBeforeInitialization

import org.springframework.context.ApplicationContextAware; //導入依賴的package包/類
public Object postProcessBeforeInitialization(final Object bean, String beanName) throws BeansException {
	AccessControlContext acc = null;

	if (System.getSecurityManager() != null &&
			(bean instanceof EnvironmentAware || bean instanceof EmbeddedValueResolverAware ||
					bean instanceof ResourceLoaderAware || bean instanceof ApplicationEventPublisherAware ||
					bean instanceof MessageSourceAware || bean instanceof ApplicationContextAware)) {
		acc = this.applicationContext.getBeanFactory().getAccessControlContext();
	}

	if (acc != null) {
		AccessController.doPrivileged(new PrivilegedAction<Object>() {
			public Object run() {
				invokeAwareInterfaces(bean);
				return null;
			}
		}, acc);
	}
	else {
		invokeAwareInterfaces(bean);
	}

	return bean;
}
 
開發者ID:deathspeeder,項目名稱:class-guard,代碼行數:25,代碼來源:ApplicationContextAwareProcessor.java

示例9: inject

import org.springframework.context.ApplicationContextAware; //導入依賴的package包/類
public static void inject(ApplicationContext appCtx) {
    // Iterate through all registered tasks
    for (DiagnosticTask each : SelfDiagnose.getTasks()) {

     // First, custom tasks are a special case: we extract its task (this may be null), and then inject the Spring bean from the reference (if available:).
     // As for a custom task either its task or its reference is set (never both), 'each' will be null if we injected a Spring bean (for which the next step is not needed).

     if (each instanceof CustomDiagnosticTask) {
      CustomDiagnosticTask custom = (CustomDiagnosticTask) each;
      each = custom.getTask();
      injectTask(custom, appCtx);
     }

     // Then, if the task is (not null and) ApplicationContextAware, we inject the Spring context.

        if (each instanceof ApplicationContextAware) {
            ApplicationContextAware eachAware = (ApplicationContextAware) each;
            eachAware.setApplicationContext(appCtx);
        }
    }
}
 
開發者ID:emicklei,項目名稱:selfdiagnose,代碼行數:22,代碼來源:SpringApplicationContextInjector.java

示例10: getBean

import org.springframework.context.ApplicationContextAware; //導入依賴的package包/類
/**
 * 從spring容器獲取執行類型bean或者獲取默認實現
 *
 * @param clz bean class 類型
 * @param <T>
 * @return bean
 */
private <T> T getBean(Class<T> clz) {
    T t = null;
    try {
        if (this.applicationContext != null) {
            t = this.applicationContext.getBean(clz);
        }
        if (t != null) {
            log.info("{}使用Spring注入:{}", clz.getSimpleName(), t.getClass());
        } else {
            t = DefaultRestyPassFactory.getDefaultBean(clz);
            log.info("{}使用默認配置:{}", clz.getSimpleName(), t.getClass());
            if (t == null) {
                throw new IllegalArgumentException("無法獲取Bean:" + clz);
            }
            if (t instanceof ApplicationContextAware) {
                ApplicationContextAware contextAware = (ApplicationContextAware) serverContext;
                contextAware.setApplicationContext(this.applicationContext);
            }
        }

    } catch (BeansException ex) {
        t = DefaultRestyPassFactory.getDefaultBean(clz);
        log.info("{}使用默認配置:{}", clz.getSimpleName(), t.getClass());

    }
    return t;
}
 
開發者ID:darren-fu,項目名稱:RestyPass,代碼行數:35,代碼來源:RestyProxyBeanFactory.java

示例11: createJobInstance

import org.springframework.context.ApplicationContextAware; //導入依賴的package包/類
@Override
protected Object createJobInstance(TriggerFiredBundle bundle)
      throws Exception {
   Object job = super.createJobInstance(bundle);
   if(job instanceof ApplicationContextAware)
   {
      ((ApplicationContextAware)job).setApplicationContext(context);
   }
   return job;
}
 
開發者ID:Alfresco,項目名稱:alfresco-repository,代碼行數:11,代碼來源:AlfrescoJobFactory.java

示例12: prepareBeanFactory

import org.springframework.context.ApplicationContextAware; //導入依賴的package包/類
/**
 * Configure the factory's standard context characteristics,
 * such as the context's ClassLoader and post-processors.
 * @param beanFactory the BeanFactory to configure
 */
protected void prepareBeanFactory(ConfigurableListableBeanFactory beanFactory) {
	// Tell the internal bean factory to use the context's class loader etc.
	beanFactory.setBeanClassLoader(getClassLoader());
	beanFactory.setBeanExpressionResolver(new StandardBeanExpressionResolver());
	beanFactory.addPropertyEditorRegistrar(new ResourceEditorRegistrar(this, getEnvironment()));

	// Configure the bean factory with context callbacks.
	beanFactory.addBeanPostProcessor(new ApplicationContextAwareProcessor(this));
	beanFactory.ignoreDependencyInterface(ResourceLoaderAware.class);
	beanFactory.ignoreDependencyInterface(ApplicationEventPublisherAware.class);
	beanFactory.ignoreDependencyInterface(MessageSourceAware.class);
	beanFactory.ignoreDependencyInterface(ApplicationContextAware.class);
	beanFactory.ignoreDependencyInterface(EnvironmentAware.class);

	// BeanFactory interface not registered as resolvable type in a plain factory.
	// MessageSource registered (and found for autowiring) as a bean.
	beanFactory.registerResolvableDependency(BeanFactory.class, beanFactory);
	beanFactory.registerResolvableDependency(ResourceLoader.class, this);
	beanFactory.registerResolvableDependency(ApplicationEventPublisher.class, this);
	beanFactory.registerResolvableDependency(ApplicationContext.class, this);

	// Detect a LoadTimeWeaver and prepare for weaving, if found.
	if (beanFactory.containsBean(LOAD_TIME_WEAVER_BEAN_NAME)) {
		beanFactory.addBeanPostProcessor(new LoadTimeWeaverAwareProcessor(beanFactory));
		// Set a temporary ClassLoader for type matching.
		beanFactory.setTempClassLoader(new ContextTypeMatchClassLoader(beanFactory.getBeanClassLoader()));
	}

	// Register default environment beans.
	if (!beanFactory.containsLocalBean(ENVIRONMENT_BEAN_NAME)) {
		beanFactory.registerSingleton(ENVIRONMENT_BEAN_NAME, getEnvironment());
	}
	if (!beanFactory.containsLocalBean(SYSTEM_PROPERTIES_BEAN_NAME)) {
		beanFactory.registerSingleton(SYSTEM_PROPERTIES_BEAN_NAME, getEnvironment().getSystemProperties());
	}
	if (!beanFactory.containsLocalBean(SYSTEM_ENVIRONMENT_BEAN_NAME)) {
		beanFactory.registerSingleton(SYSTEM_ENVIRONMENT_BEAN_NAME, getEnvironment().getSystemEnvironment());
	}
}
 
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:45,代碼來源:AbstractApplicationContext.java

示例13: prepareBeanFactory

import org.springframework.context.ApplicationContextAware; //導入依賴的package包/類
/**
 * Configure the factory's standard context characteristics,
 * such as the context's ClassLoader and post-processors.
 * @param beanFactory the BeanFactory to configure
 */
protected void prepareBeanFactory(ConfigurableListableBeanFactory beanFactory) {
	// Tell the internal bean factory to use the context's class loader etc.
	beanFactory.setBeanClassLoader(getClassLoader());
	beanFactory.setBeanExpressionResolver(new StandardBeanExpressionResolver(beanFactory.getBeanClassLoader()));
	beanFactory.addPropertyEditorRegistrar(new ResourceEditorRegistrar(this, getEnvironment()));

	// Configure the bean factory with context callbacks.
	beanFactory.addBeanPostProcessor(new ApplicationContextAwareProcessor(this));
	beanFactory.ignoreDependencyInterface(ResourceLoaderAware.class);
	beanFactory.ignoreDependencyInterface(ApplicationEventPublisherAware.class);
	beanFactory.ignoreDependencyInterface(MessageSourceAware.class);
	beanFactory.ignoreDependencyInterface(ApplicationContextAware.class);
	beanFactory.ignoreDependencyInterface(EnvironmentAware.class);

	// BeanFactory interface not registered as resolvable type in a plain factory.
	// MessageSource registered (and found for autowiring) as a bean.
	beanFactory.registerResolvableDependency(BeanFactory.class, beanFactory);
	beanFactory.registerResolvableDependency(ResourceLoader.class, this);
	beanFactory.registerResolvableDependency(ApplicationEventPublisher.class, this);
	beanFactory.registerResolvableDependency(ApplicationContext.class, this);

	// Detect a LoadTimeWeaver and prepare for weaving, if found.
	if (beanFactory.containsBean(LOAD_TIME_WEAVER_BEAN_NAME)) {
		beanFactory.addBeanPostProcessor(new LoadTimeWeaverAwareProcessor(beanFactory));
		// Set a temporary ClassLoader for type matching.
		beanFactory.setTempClassLoader(new ContextTypeMatchClassLoader(beanFactory.getBeanClassLoader()));
	}

	// Register default environment beans.
	if (!beanFactory.containsLocalBean(ENVIRONMENT_BEAN_NAME)) {
		beanFactory.registerSingleton(ENVIRONMENT_BEAN_NAME, getEnvironment());
	}
	if (!beanFactory.containsLocalBean(SYSTEM_PROPERTIES_BEAN_NAME)) {
		beanFactory.registerSingleton(SYSTEM_PROPERTIES_BEAN_NAME, getEnvironment().getSystemProperties());
	}
	if (!beanFactory.containsLocalBean(SYSTEM_ENVIRONMENT_BEAN_NAME)) {
		beanFactory.registerSingleton(SYSTEM_ENVIRONMENT_BEAN_NAME, getEnvironment().getSystemEnvironment());
	}
}
 
開發者ID:langtianya,項目名稱:spring4-understanding,代碼行數:45,代碼來源:AbstractApplicationContext.java

示例14: postProcessBeforeInitialization

import org.springframework.context.ApplicationContextAware; //導入依賴的package包/類
@Override
public Object postProcessBeforeInitialization(final Object bean, String beanName) throws BeansException {
	AccessControlContext acc = null;

	if (System.getSecurityManager() != null &&
			(bean instanceof EnvironmentAware || bean instanceof EmbeddedValueResolverAware ||
					bean instanceof ResourceLoaderAware || bean instanceof ApplicationEventPublisherAware ||
					bean instanceof MessageSourceAware || bean instanceof ApplicationContextAware)) {
		
		acc = this.applicationContext.getBeanFactory().getAccessControlContext();
	}

	if (acc != null) {
		AccessController.doPrivileged(new PrivilegedAction<Object>() {
			@Override
			public Object run() {
				invokeAwareInterfaces(bean);
				return null;
			}
		}, acc);
	}
	else {
		invokeAwareInterfaces(bean);
	}

	return bean;
}
 
開發者ID:langtianya,項目名稱:spring4-understanding,代碼行數:28,代碼來源:ApplicationContextAwareProcessor.java

示例15: setApplicationContext

import org.springframework.context.ApplicationContextAware; //導入依賴的package包/類
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
	for (ViewResolver viewResolver : this.viewResolvers) {
		if (viewResolver instanceof ApplicationContextAware) {
			((ApplicationContextAware)viewResolver).setApplicationContext(applicationContext);
		}
	}
}
 
開發者ID:langtianya,項目名稱:spring4-understanding,代碼行數:9,代碼來源:ViewResolverComposite.java


注:本文中的org.springframework.context.ApplicationContextAware類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。