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


Java BeanExpressionContext类代码示例

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


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

示例1: testExpressionInStringArray

import org.springframework.beans.factory.config.BeanExpressionContext; //导入依赖的package包/类
@Test
public void testExpressionInStringArray() {
	DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
	BeanExpressionResolver beanExpressionResolver = mock(BeanExpressionResolver.class);
	when(beanExpressionResolver.evaluate(eq("#{foo}"), Matchers.any(BeanExpressionContext.class)))
			.thenReturn("classpath:/org/springframework/beans/factory/xml/util.properties");
	bf.setBeanExpressionResolver(beanExpressionResolver);

	RootBeanDefinition rbd = new RootBeanDefinition(PropertiesFactoryBean.class);
	MutablePropertyValues pvs = new MutablePropertyValues();
	pvs.add("locations", new String[]{"#{foo}"});
	rbd.setPropertyValues(pvs);
	bf.registerBeanDefinition("myProperties", rbd);
	Properties properties = (Properties) bf.getBean("myProperties");
	assertEquals("bar", properties.getProperty("foo"));
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:17,代码来源:DefaultListableBeanFactoryTests.java

示例2: getServiceUrl

import org.springframework.beans.factory.config.BeanExpressionContext; //导入依赖的package包/类
/**
 * Retrieves the service url.
 *
 * @return the service url
 */
private String getServiceUrl() {

    try {
        if (!serviceUrl.isEmpty()) {

            ConfigurableBeanFactory beanFactory = getBeanFactory();
            if(beanFactory != null) {
                return (String) beanFactory.getBeanExpressionResolver()
                        .evaluate(serviceUrl, new BeanExpressionContext(beanFactory, null));
            }
            return serviceUrl;
        }

        return applicationContext.getBean(serviceUrlProvider)
                .getServiceUrl();
    } catch (BeansException e) {
        throw new IllegalStateException("The service url hasn't been specified and " +
                "no ServiceUrlProvider has been registered in application context.", e);
    }
}
 
开发者ID:jmnarloch,项目名称:spring-jax-rs-client-proxy,代码行数:26,代码来源:JaxRsClientProxyFactoryBean.java

示例3: resolveValue

import org.springframework.beans.factory.config.BeanExpressionContext; //导入依赖的package包/类
private Object resolveValue(Method method) {
    Value val = AnnotationUtils.findAnnotation(method, Value.class);
    if (val != null) {
        if (LOG.isDebugEnabled()) {
            LOG.debug(String.format("Resolving @Value annotation on %s with key %s",
                    method.getName(), val.value()));
        }
        ConfigurableBeanFactory beanFactory = (ConfigurableBeanFactory) getBeanFactory();
        String strValue = beanFactory.resolveEmbeddedValue(val.value());
        BeanExpressionResolver resolver = beanFactory.getBeanExpressionResolver();

        Object unconvertedResult = resolver.evaluate(strValue, new BeanExpressionContext(beanFactory, null));
        TypeConverter converter = beanFactory.getTypeConverter();
        return converter.convertIfNecessary(unconvertedResult, method.getReturnType());
    }
    String message = "Method %s on interface %s must be annotated with @Value for auto-properties to work!";
    throw new AutoPropertiesException(String.format(message, method.getName(), method.getDeclaringClass().getName()));
}
 
开发者ID:mdaniline,项目名称:spring-autoproperties,代码行数:19,代码来源:AutoPropertiesFactoryBean.java

示例4: buildExportProperties

import org.springframework.beans.factory.config.BeanExpressionContext; //导入依赖的package包/类
private Map<String, Object> buildExportProperties() {
	Map<String, Object> props = new HashMap<>();
	if (!ObjectUtils.isEmpty(this.properties)) {
		Map<String, String> target = bindProperties();

		BeanExpressionResolver beanExpressionResolver = ((ConfigurableApplicationContext) applicationContext)
				.getBeanFactory().getBeanExpressionResolver();
		BeanExpressionContext expressionContext = new BeanExpressionContext(
				((ConfigurableApplicationContext) applicationContext).getBeanFactory(), null);
		for (Entry<String, String> entry : target.entrySet()) {
			if (isMatch(entry.getKey(), this.properties, null)) {
				String stringValue = ObjectUtils.nullSafeToString(entry.getValue());
				Object exportedValue = null;
				if (stringValue != null) {
					exportedValue = stringValue.startsWith("#{")
							? beanExpressionResolver.evaluate(
									environment.resolvePlaceholders(stringValue), expressionContext)
							: environment.resolvePlaceholders(stringValue);
				}

				props.put(entry.getKey(), exportedValue);
			}
		}
	}
	return props;
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-stream,代码行数:27,代码来源:ApplicationMetricsProperties.java

示例5: resolveName

import org.springframework.beans.factory.config.BeanExpressionContext; //导入依赖的package包/类
private String[] resolveName(String name) {
    if (!(getApplicationContext() instanceof ConfigurableApplicationContext)) {
        return wrapInStringArray(name);
    }

    ConfigurableApplicationContext applicationContext = (ConfigurableApplicationContext) getApplicationContext();
    ConfigurableBeanFactory configurableBeanFactory = applicationContext.getBeanFactory();

    String placeholdersResolved = configurableBeanFactory.resolveEmbeddedValue(name);
    BeanExpressionResolver exprResolver = configurableBeanFactory.getBeanExpressionResolver();
    if (exprResolver == null) {
        return wrapInStringArray(name);
    }
    Object result = exprResolver.evaluate(placeholdersResolved, new BeanExpressionContext(configurableBeanFactory, null));
    if (result instanceof String[]) {
        return (String[]) result;
    } else if (result != null) {
        return wrapInStringArray(result);
    } else {
        return wrapInStringArray(name);
    }
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-aws,代码行数:23,代码来源:QueueMessageHandler.java

示例6: setBeanFactory

import org.springframework.beans.factory.config.BeanExpressionContext; //导入依赖的package包/类
@Override
public void setBeanFactory(final BeanFactory beanFactory) throws BeansException
{
    this.beanFactory = beanFactory;
    if (beanFactory instanceof ConfigurableListableBeanFactory)
    {
        this.resolver = ((ConfigurableListableBeanFactory) beanFactory).getBeanExpressionResolver();
        this.expressionContext = new BeanExpressionContext((ConfigurableListableBeanFactory) beanFactory, null);
    }
}
 
开发者ID:zeebe-io,项目名称:spring-zeebe,代码行数:11,代码来源:ZeebeExpressionResolver.java

示例7: setBeanFactory

import org.springframework.beans.factory.config.BeanExpressionContext; //导入依赖的package包/类
@Override
public void setBeanFactory(BeanFactory beanFactory) {
	if (beanFactory instanceof ConfigurableBeanFactory) {
		this.beanFactory = (ConfigurableBeanFactory) beanFactory;
		this.expressionContext = new BeanExpressionContext(this.beanFactory, new RequestScope());
	}
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:8,代码来源:AnnotationMethodHandlerAdapter.java

示例8: getDictionaryBeanProperty

import org.springframework.beans.factory.config.BeanExpressionContext; //导入依赖的package包/类
/**
 * Returns a property value for the bean with the given name from the dictionary.
 *
 * @param beanName id or name for the bean definition
 * @param propertyName name of the property to retrieve, must be a valid property configured on
 * the bean definition
 * @return Object property value for property
 */
public Object getDictionaryBeanProperty(String beanName, String propertyName) {
    Object bean = ddBeans.getSingleton(beanName);
    if (bean != null) {
        return ObjectPropertyUtils.getPropertyValue(bean, propertyName);
    }

    BeanDefinition beanDefinition = ddBeans.getMergedBeanDefinition(beanName);

    if (beanDefinition == null) {
        throw new RuntimeException("Unable to get bean for bean name: " + beanName);
    }

    PropertyValues pvs = beanDefinition.getPropertyValues();
    if (pvs.contains(propertyName)) {
        PropertyValue propertyValue = pvs.getPropertyValue(propertyName);

        Object value;
        if (propertyValue.isConverted()) {
            value = propertyValue.getConvertedValue();
        } else if (propertyValue.getValue() instanceof String) {
            String unconvertedValue = (String) propertyValue.getValue();
            Scope scope = ddBeans.getRegisteredScope(beanDefinition.getScope());
            BeanExpressionContext beanExpressionContext = new BeanExpressionContext(ddBeans, scope);

            value = ddBeans.getBeanExpressionResolver().evaluate(unconvertedValue, beanExpressionContext);
        } else {
            value = propertyValue.getValue();
        }

        return value;
    }

    return null;
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:43,代码来源:DataDictionary.java

示例9: evaluate

import org.springframework.beans.factory.config.BeanExpressionContext; //导入依赖的package包/类
public Object evaluate(String value, BeanExpressionContext evalContext) throws BeansException {
	if (!StringUtils.hasLength(value)) {
		return value;
	}
	try {
		Expression expr = this.expressionCache.get(value);
		if (expr == null) {
			expr = this.expressionParser.parseExpression(value, this.beanExpressionParserContext);
			this.expressionCache.put(value, expr);
		}
		StandardEvaluationContext sec = this.evaluationCache.get(evalContext);
		if (sec == null) {
			sec = new StandardEvaluationContext();
			sec.setRootObject(evalContext);
			sec.addPropertyAccessor(new BeanExpressionContextAccessor());
			sec.addPropertyAccessor(new BeanFactoryAccessor());
			sec.addPropertyAccessor(new MapAccessor());
			sec.addPropertyAccessor(new EnvironmentAccessor());
			sec.setBeanResolver(new BeanFactoryResolver(evalContext.getBeanFactory()));
			sec.setTypeLocator(new StandardTypeLocator(evalContext.getBeanFactory().getBeanClassLoader()));
			ConversionService conversionService = evalContext.getBeanFactory().getConversionService();
			if (conversionService != null) {
				sec.setTypeConverter(new StandardTypeConverter(conversionService));
			}
			customizeEvaluationContext(sec);
			this.evaluationCache.put(evalContext, sec);
		}
		return expr.getValue(sec);
	}
	catch (Exception ex) {
		throw new BeanExpressionException("Expression parsing failed", ex);
	}
}
 
开发者ID:deathspeeder,项目名称:class-guard,代码行数:34,代码来源:StandardBeanExpressionResolver.java

示例10: setBeanFactory

import org.springframework.beans.factory.config.BeanExpressionContext; //导入依赖的package包/类
@Override
public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
    this.beanFactory = (ConfigurableBeanFactory) beanFactory;
    resolver = this.beanFactory.getBeanExpressionResolver();
    expressionContext = new BeanExpressionContext(this.beanFactory, null);
    typeConverter = this.beanFactory.getTypeConverter();
}
 
开发者ID:sniffy,项目名称:sniffy,代码行数:8,代码来源:SniffySpringConfiguration.java

示例11: setBeanFactory

import org.springframework.beans.factory.config.BeanExpressionContext; //导入依赖的package包/类
public void setBeanFactory(BeanFactory beanFactory) {
	if (beanFactory instanceof ConfigurableBeanFactory) {
		this.beanFactory = (ConfigurableBeanFactory) beanFactory;
		this.expressionContext = new BeanExpressionContext(
				this.beanFactory, new RequestScope());
	}
}
 
开发者ID:xiyelife,项目名称:jresplus,代码行数:8,代码来源:ExtendableAnnotationMethodHandlerAdapter.java

示例12: testGetUserProperties

import org.springframework.beans.factory.config.BeanExpressionContext; //导入依赖的package包/类
@Test
public void testGetUserProperties() throws Exception {

    Assert.assertEquals("tagv1", this.context.getBeanFactory().getBeanExpressionResolver().
            evaluate("#{instanceData['tag1']}", new BeanExpressionContext(this.context.getBeanFactory(), null)));
    Assert.assertEquals("tagv2", this.context.getBeanFactory().getBeanExpressionResolver().
            evaluate("#{instanceData['tag2']}", new BeanExpressionContext(this.context.getBeanFactory(), null)));
    Assert.assertEquals("tagv3", this.context.getBeanFactory().getBeanExpressionResolver().
            evaluate("#{instanceData['tag3']}", new BeanExpressionContext(this.context.getBeanFactory(), null)));
    Assert.assertEquals("tagv4", this.context.getBeanFactory().getBeanExpressionResolver().
            evaluate("#{instanceData['tag4']}", new BeanExpressionContext(this.context.getBeanFactory(), null)));
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-aws,代码行数:13,代码来源:AmazonEc2InstanceUserTagsFactoryBeanAwsTest.java

示例13: resolveName

import org.springframework.beans.factory.config.BeanExpressionContext; //导入依赖的package包/类
private String resolveName(String name) {
    if (!(this.beanFactory instanceof ConfigurableBeanFactory)) {
        return name;
    }

    ConfigurableBeanFactory configurableBeanFactory = (ConfigurableBeanFactory) this.beanFactory;

    String placeholdersResolved = configurableBeanFactory.resolveEmbeddedValue(name);
    BeanExpressionResolver exprResolver = configurableBeanFactory.getBeanExpressionResolver();
    if (exprResolver == null) {
        return name;
    }
    Object result = exprResolver.evaluate(placeholdersResolved, new BeanExpressionContext(configurableBeanFactory, null));
    return result != null ? result.toString() : name;
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-aws,代码行数:16,代码来源:SendToHandlerMethodReturnValueHandler.java

示例14: canRead

import org.springframework.beans.factory.config.BeanExpressionContext; //导入依赖的package包/类
@Override
public boolean canRead(EvaluationContext context, Object target, String name) throws AccessException {
	return ((BeanExpressionContext) target).containsObject(name);
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:5,代码来源:BeanExpressionContextAccessor.java

示例15: read

import org.springframework.beans.factory.config.BeanExpressionContext; //导入依赖的package包/类
@Override
public TypedValue read(EvaluationContext context, Object target, String name) throws AccessException {
	return new TypedValue(((BeanExpressionContext) target).getObject(name));
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:5,代码来源:BeanExpressionContextAccessor.java


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