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


Java PropertyValues類代碼示例

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


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

示例1: postProcessPropertyValues

import org.springframework.beans.PropertyValues; //導入依賴的package包/類
@Override
public PropertyValues postProcessPropertyValues(
		PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName)
		throws BeansException {

	if (!this.validatedBeanNames.contains(beanName)) {
		if (!shouldSkip(this.beanFactory, beanName)) {
			List<String> invalidProperties = new ArrayList<String>();
			for (PropertyDescriptor pd : pds) {
				if (isRequiredProperty(pd) && !pvs.contains(pd.getName())) {
					invalidProperties.add(pd.getName());
				}
			}
			if (!invalidProperties.isEmpty()) {
				throw new BeanInitializationException(buildExceptionMessage(invalidProperties, beanName));
			}
		}
		this.validatedBeanNames.add(beanName);
	}
	return pvs;
}
 
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:22,代碼來源:RequiredAnnotationBeanPostProcessor.java

示例2: inject

import org.springframework.beans.PropertyValues; //導入依賴的package包/類
/**
 * Either this or {@link #getResourceToInject} needs to be overridden.
 */
protected void inject(Object target, String requestingBeanName, PropertyValues pvs) throws Throwable {
	if (this.isField) {
		Field field = (Field) this.member;
		ReflectionUtils.makeAccessible(field);
		field.set(target, getResourceToInject(target, requestingBeanName));
	}
	else {
		if (checkPropertySkipping(pvs)) {
			return;
		}
		try {
			Method method = (Method) this.member;
			ReflectionUtils.makeAccessible(method);
			method.invoke(target, getResourceToInject(target, requestingBeanName));
		}
		catch (InvocationTargetException ex) {
			throw ex.getTargetException();
		}
	}
}
 
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:24,代碼來源:InjectionMetadata.java

示例3: checkDependencies

import org.springframework.beans.PropertyValues; //導入依賴的package包/類
/**
 * Perform a dependency check that all properties exposed have been set,
 * if desired. Dependency checks can be objects (collaborating beans),
 * simple (primitives and String), or all (both).
 * @param beanName the name of the bean
 * @param mbd the merged bean definition the bean was created with
 * @param pds the relevant property descriptors for the target bean
 * @param pvs the property values to be applied to the bean
 * @see #isExcludedFromDependencyCheck(java.beans.PropertyDescriptor)
 */
protected void checkDependencies(
		String beanName, AbstractBeanDefinition mbd, PropertyDescriptor[] pds, PropertyValues pvs)
		throws UnsatisfiedDependencyException {

	int dependencyCheck = mbd.getDependencyCheck();
	for (PropertyDescriptor pd : pds) {
		if (pd.getWriteMethod() != null && !pvs.contains(pd.getName())) {
			boolean isSimple = BeanUtils.isSimpleProperty(pd.getPropertyType());
			boolean unsatisfied = (dependencyCheck == RootBeanDefinition.DEPENDENCY_CHECK_ALL) ||
					(isSimple && dependencyCheck == RootBeanDefinition.DEPENDENCY_CHECK_SIMPLE) ||
					(!isSimple && dependencyCheck == RootBeanDefinition.DEPENDENCY_CHECK_OBJECTS);
			if (unsatisfied) {
				throw new UnsatisfiedDependencyException(mbd.getResourceDescription(), beanName, pd.getName(),
						"Set this property value or disable dependency checking for this bean.");
			}
		}
	}
}
 
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:29,代碼來源:AbstractAutowireCapableBeanFactory.java

示例4: findInnerBeanDefinitionsAndBeanReferences

import org.springframework.beans.PropertyValues; //導入依賴的package包/類
private void findInnerBeanDefinitionsAndBeanReferences(BeanDefinition beanDefinition) {
	List<BeanDefinition> innerBeans = new ArrayList<BeanDefinition>();
	List<BeanReference> references = new ArrayList<BeanReference>();
	PropertyValues propertyValues = beanDefinition.getPropertyValues();
	for (int i = 0; i < propertyValues.getPropertyValues().length; i++) {
		PropertyValue propertyValue = propertyValues.getPropertyValues()[i];
		Object value = propertyValue.getValue();
		if (value instanceof BeanDefinitionHolder) {
			innerBeans.add(((BeanDefinitionHolder) value).getBeanDefinition());
		}
		else if (value instanceof BeanDefinition) {
			innerBeans.add((BeanDefinition) value);
		}
		else if (value instanceof BeanReference) {
			references.add((BeanReference) value);
		}
	}
	this.innerBeanDefinitions = innerBeans.toArray(new BeanDefinition[innerBeans.size()]);
	this.beanReferences = references.toArray(new BeanReference[references.size()]);
}
 
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:21,代碼來源:BeanComponentDefinition.java

示例5: findAutowiringMetadata

import org.springframework.beans.PropertyValues; //導入依賴的package包/類
private InjectionMetadata findAutowiringMetadata(String beanName, Class<?> clazz, PropertyValues pvs) {
    // Fall back to class name as cache key, for backwards compatibility with custom callers.
    String cacheKey = (StringUtils.hasLength(beanName) ? beanName : clazz.getName());
    // Quick check on the concurrent map first, with minimal locking.
    InjectionMetadata metadata = this.injectionMetadataCache.get(cacheKey);
    if (InjectionMetadata.needsRefresh(metadata, clazz)) {
        synchronized (this.injectionMetadataCache) {
            metadata = this.injectionMetadataCache.get(cacheKey);
            if (InjectionMetadata.needsRefresh(metadata, clazz)) {
                if (metadata != null) {
                    clear(metadata, pvs);
                }
                try {
                    metadata = buildAutowiringMetadata(clazz);
                    this.injectionMetadataCache.put(cacheKey, metadata);
                } catch (NoClassDefFoundError err) {
                    throw new IllegalStateException("Failed to introspect bean class [" + clazz.getName() +
                            "] for autowiring metadata: could not find class that it depends on", err);
                }
            }
        }
    }
    return metadata;
}
 
開發者ID:alibaba,項目名稱:jetcache,代碼行數:25,代碼來源:CreateCacheAnnotationBeanPostProcessor.java

示例6: findReferenceMetadata

import org.springframework.beans.PropertyValues; //導入依賴的package包/類
private InjectionMetadata findReferenceMetadata(String beanName, Class<?> clazz, PropertyValues pvs) {
    // Fall back to class name as cache key, for backwards compatibility with custom callers.
    String cacheKey = (StringUtils.hasLength(beanName) ? beanName : clazz.getName());
    // Quick check on the concurrent map first, with minimal locking.
    InjectionMetadata metadata = this.injectionMetadataCache.get(cacheKey);
    if (InjectionMetadata.needsRefresh(metadata, clazz)) {
        synchronized (this.injectionMetadataCache) {
            metadata = this.injectionMetadataCache.get(cacheKey);
            if (InjectionMetadata.needsRefresh(metadata, clazz)) {
                if (metadata != null) {
                    metadata.clear(pvs);
                }
                try {
                    metadata = buildReferenceMetadata(clazz);
                    this.injectionMetadataCache.put(cacheKey, metadata);
                } catch (NoClassDefFoundError err) {
                    throw new IllegalStateException("Failed to introspect bean class [" + clazz.getName() +
                            "] for reference metadata: could not find class that it depends on", err);
                }
            }
        }
    }
    return metadata;
}
 
開發者ID:justice-code,項目名稱:dubbo-spring-boot-autoconfig,代碼行數:25,代碼來源:DubboReferenceInjector.java

示例7: findResourceMetadata

import org.springframework.beans.PropertyValues; //導入依賴的package包/類
private InjectionMetadata findResourceMetadata(String beanName, final Class<?> clazz, PropertyValues pvs) {
	// Fall back to class name as cache key, for backwards compatibility with custom callers.
	String cacheKey = (StringUtils.hasLength(beanName) ? beanName : clazz.getName());
	// Quick check on the concurrent map first, with minimal locking.
	InjectionMetadata metadata = this.injectionMetadataCache.get(cacheKey);
	if (InjectionMetadata.needsRefresh(metadata, clazz)) {
		synchronized (this.injectionMetadataCache) {
			metadata = this.injectionMetadataCache.get(cacheKey);
			if (InjectionMetadata.needsRefresh(metadata, clazz)) {
				if (metadata != null) {
					metadata.clear(pvs);
				}
				try {
					metadata = buildResourceMetadata(clazz);
					this.injectionMetadataCache.put(cacheKey, metadata);
				}
				catch (NoClassDefFoundError err) {
					throw new IllegalStateException("Failed to introspect bean class [" + clazz.getName() +
							"] for resource metadata: could not find class that it depends on", err);
				}
			}
		}
	}
	return metadata;
}
 
開發者ID:langtianya,項目名稱:spring4-understanding,代碼行數:26,代碼來源:CommonAnnotationBeanPostProcessor.java

示例8: findPersistenceMetadata

import org.springframework.beans.PropertyValues; //導入依賴的package包/類
private InjectionMetadata findPersistenceMetadata(String beanName, final Class<?> clazz, PropertyValues pvs) {
	// Fall back to class name as cache key, for backwards compatibility with custom callers.
	String cacheKey = (StringUtils.hasLength(beanName) ? beanName : clazz.getName());
	// Quick check on the concurrent map first, with minimal locking.
	InjectionMetadata metadata = this.injectionMetadataCache.get(cacheKey);
	if (InjectionMetadata.needsRefresh(metadata, clazz)) {
		synchronized (this.injectionMetadataCache) {
			metadata = this.injectionMetadataCache.get(cacheKey);
			if (InjectionMetadata.needsRefresh(metadata, clazz)) {
				if (metadata != null) {
					metadata.clear(pvs);
				}
				try {
					metadata = buildPersistenceMetadata(clazz);
					this.injectionMetadataCache.put(cacheKey, metadata);
				}
				catch (NoClassDefFoundError err) {
					throw new IllegalStateException("Failed to introspect bean class [" + clazz.getName() +
							"] for persistence metadata: could not find class that it depends on", err);
				}
			}
		}
	}
	return metadata;
}
 
開發者ID:langtianya,項目名稱:spring4-understanding,代碼行數:26,代碼來源:PersistenceAnnotationBeanPostProcessor.java

示例9: doTestTony

import org.springframework.beans.PropertyValues; //導入依賴的package包/類
/**
 * Must contain: forname=Tony surname=Blair age=50
 */
protected void doTestTony(PropertyValues pvs) throws Exception {
	assertTrue("Contains 3", pvs.getPropertyValues().length == 3);
	assertTrue("Contains forname", pvs.contains("forname"));
	assertTrue("Contains surname", pvs.contains("surname"));
	assertTrue("Contains age", pvs.contains("age"));
	assertTrue("Doesn't contain tory", !pvs.contains("tory"));

	PropertyValue[] pvArray = pvs.getPropertyValues();
	Map<String, String> m = new HashMap<String, String>();
	m.put("forname", "Tony");
	m.put("surname", "Blair");
	m.put("age", "50");
	for (PropertyValue pv : pvArray) {
		Object val = m.get(pv.getName());
		assertTrue("Can't have unexpected value", val != null);
		assertTrue("Val i string", val instanceof String);
		assertTrue("val matches expected", val.equals(pv.getValue()));
		m.remove(pv.getName());
	}
	assertTrue("Map size is 0", m.size() == 0);
}
 
開發者ID:langtianya,項目名稱:spring4-understanding,代碼行數:25,代碼來源:WebRequestDataBinderTests.java

示例10: doTestTony

import org.springframework.beans.PropertyValues; //導入依賴的package包/類
/**
 * Must contain: forname=Tony surname=Blair age=50
 */
protected void doTestTony(PropertyValues pvs) throws Exception {
	assertTrue("Contains 3", pvs.getPropertyValues().length == 3);
	assertTrue("Contains forname", pvs.contains("forname"));
	assertTrue("Contains surname", pvs.contains("surname"));
	assertTrue("Contains age", pvs.contains("age"));
	assertTrue("Doesn't contain tory", !pvs.contains("tory"));

	PropertyValue[] ps = pvs.getPropertyValues();
	Map<String, String> m = new HashMap<String, String>();
	m.put("forname", "Tony");
	m.put("surname", "Blair");
	m.put("age", "50");
	for (int i = 0; i < ps.length; i++) {
		Object val = m.get(ps[i].getName());
		assertTrue("Can't have unexpected value", val != null);
		assertTrue("Val i string", val instanceof String);
		assertTrue("val matches expected", val.equals(ps[i].getValue()));
		m.remove(ps[i].getName());
	}
	assertTrue("Map size is 0", m.size() == 0);
}
 
開發者ID:langtianya,項目名稱:spring4-understanding,代碼行數:25,代碼來源:ServletRequestDataBinderTests.java

示例11: createContainer

import org.springframework.beans.PropertyValues; //導入依賴的package包/類
@Override
protected RootBeanDefinition createContainer(Element containerEle, Element listenerEle, ParserContext parserContext,
		PropertyValues commonContainerProperties, PropertyValues specificContainerProperties) {

	RootBeanDefinition containerDef = new RootBeanDefinition();
	containerDef.setSource(parserContext.extractSource(containerEle));
	containerDef.setBeanClassName("org.springframework.jms.listener.endpoint.JmsMessageEndpointManager");
	containerDef.getPropertyValues().addPropertyValues(specificContainerProperties);

	RootBeanDefinition configDef = new RootBeanDefinition();
	configDef.setSource(parserContext.extractSource(containerEle));
	configDef.setBeanClassName("org.springframework.jms.listener.endpoint.JmsActivationSpecConfig");
	configDef.getPropertyValues().addPropertyValues(commonContainerProperties);
	parseListenerConfiguration(listenerEle, parserContext, configDef.getPropertyValues());

	containerDef.getPropertyValues().add("activationSpecConfig", configDef);

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

示例12: createContainerFactory

import org.springframework.beans.PropertyValues; //導入依賴的package包/類
@Override
protected RootBeanDefinition createContainerFactory(String factoryId, Element containerEle, ParserContext parserContext,
		PropertyValues commonContainerProperties, PropertyValues specificContainerProperties) {

	RootBeanDefinition factoryDef = new RootBeanDefinition();

	String containerType = containerEle.getAttribute(CONTAINER_TYPE_ATTRIBUTE);
	String containerClass = containerEle.getAttribute(CONTAINER_CLASS_ATTRIBUTE);
	if (!"".equals(containerClass)) {
		return null; // Not supported
	}
	else if ("".equals(containerType) || containerType.startsWith("default")) {
		factoryDef.setBeanClassName("org.springframework.jms.config.DefaultJmsListenerContainerFactory");
	}
	else if (containerType.startsWith("simple")) {
		factoryDef.setBeanClassName("org.springframework.jms.config.SimpleJmsListenerContainerFactory");
	}

	factoryDef.getPropertyValues().addPropertyValues(commonContainerProperties);
	factoryDef.getPropertyValues().addPropertyValues(specificContainerProperties);

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

示例13: findAutowiringMetadata

import org.springframework.beans.PropertyValues; //導入依賴的package包/類
private InjectionMetadata findAutowiringMetadata(String beanName, Class<?> clazz, PropertyValues pvs) {
	// Fall back to class name as cache key, for backwards compatibility with custom callers.
	String cacheKey = (StringUtils.hasLength(beanName) ? beanName : clazz.getName());
	// Quick check on the concurrent map first, with minimal locking.
	InjectionMetadata metadata = this.injectionMetadataCache.get(cacheKey);
	if (InjectionMetadata.needsRefresh(metadata, clazz)) {
		synchronized (this.injectionMetadataCache) {
			metadata = this.injectionMetadataCache.get(cacheKey);
			if (InjectionMetadata.needsRefresh(metadata, clazz)) {
				if (metadata != null) {
					metadata.clear(pvs);
				}
				try {
					metadata = buildAutowiringMetadata(clazz);
					this.injectionMetadataCache.put(cacheKey, metadata);
				}
				catch (NoClassDefFoundError err) {
					throw new IllegalStateException("Failed to introspect bean class [" + clazz.getName() +
							"] for autowiring metadata: could not find class that it depends on", err);
				}
			}
		}
	}
	return metadata;
}
 
開發者ID:langtianya,項目名稱:spring4-understanding,代碼行數:26,代碼來源:AutowiredAnnotationBeanPostProcessor.java

示例14: checkDependencies

import org.springframework.beans.PropertyValues; //導入依賴的package包/類
/**
 * 
 * ִ��һ�������Լ�飬�������ع�������ѱ�����
 * <p>
 * Perform a dependency check that all properties exposed have been set, if
 * desired. Dependency checks can be objects (collaborating beans), simple
 * (primitives and String), or all (both).
 * 
 * @param beanName
 *            the name of the bean
 * @param mbd
 *            the merged bean definition the bean was created with
 * @param pds
 *            the relevant property descriptors for the target bean
 * @param pvs
 *            the property values to be applied to the bean
 * @see #isExcludedFromDependencyCheck(java.beans.PropertyDescriptor)
 */
protected void checkDependencies(
		String beanName, AbstractBeanDefinition mbd, PropertyDescriptor[] pds, PropertyValues pvs)
		throws UnsatisfiedDependencyException {

	int dependencyCheck = mbd.getDependencyCheck();
	for (PropertyDescriptor pd : pds) {
		
		if (pd.getWriteMethod() != null && !pvs.contains(pd.getName())) {
			
			boolean isSimple = BeanUtils.isSimpleProperty(pd.getPropertyType());
			
			boolean unsatisfied = (dependencyCheck == RootBeanDefinition.DEPENDENCY_CHECK_ALL) ||
					(isSimple && dependencyCheck == RootBeanDefinition.DEPENDENCY_CHECK_SIMPLE) ||
					(!isSimple && dependencyCheck == RootBeanDefinition.DEPENDENCY_CHECK_OBJECTS);
			// �����㣬���쳣
			if (unsatisfied) {
				throw new UnsatisfiedDependencyException(mbd.getResourceDescription(), beanName, pd.getName(),
						"Set this property value or disable dependency checking for this bean.");
			}
		}
	}
}
 
開發者ID:langtianya,項目名稱:spring4-understanding,代碼行數:41,代碼來源:AbstractAutowireCapableBeanFactory.java

示例15: doBindPropertiesToTarget

import org.springframework.beans.PropertyValues; //導入依賴的package包/類
private void doBindPropertiesToTarget() throws BindException {
	RelaxedDataBinder dataBinder = (this.targetName != null
			? new RelaxedDataBinder(this.target, this.targetName)
			: new RelaxedDataBinder(this.target));
	if (this.validator != null) {
		dataBinder.setValidator(this.validator);
	}
	if (this.conversionService != null) {
		dataBinder.setConversionService(this.conversionService);
	}
	dataBinder.setIgnoreNestedProperties(this.ignoreNestedProperties);
	dataBinder.setIgnoreInvalidFields(this.ignoreInvalidFields);
	dataBinder.setIgnoreUnknownFields(this.ignoreUnknownFields);
	customizeBinder(dataBinder);
	Iterable<String> relaxedTargetNames = getRelaxedTargetNames();
	Set<String> names = getNames(relaxedTargetNames);
	PropertyValues propertyValues = getPropertyValues(names, relaxedTargetNames);
	dataBinder.bind(propertyValues);
	if (this.validator != null) {
		validate(dataBinder);
	}
}
 
開發者ID:vikrammane23,項目名稱:https-github.com-g0t4-jenkins2-course-spring-boot,代碼行數:23,代碼來源:PropertiesConfigurationFactory.java


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