本文整理汇总了Java中org.springframework.beans.factory.annotation.InjectionMetadata类的典型用法代码示例。如果您正苦于以下问题:Java InjectionMetadata类的具体用法?Java InjectionMetadata怎么用?Java InjectionMetadata使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
InjectionMetadata类属于org.springframework.beans.factory.annotation包,在下文中一共展示了InjectionMetadata类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: findAutowiringMetadata
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的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
示例2: findReferenceMetadata
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的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
示例3: findResourceMetadata
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的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
示例4: findPersistenceMetadata
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的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
示例5: findAutowiringMetadata
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的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:ErinDavid,项目名称:elastic-config,代码行数:26,代码来源:AutowiredAnnotationResoved.java
示例6: removeInjectCache
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的package包/类
private void removeInjectCache(Object controller) {
AutowiredAnnotationBeanPostProcessor autowiredAnnotationBeanPostProcessor =
ctx.getBean(AutowiredAnnotationBeanPostProcessor.class);
Map<String, InjectionMetadata> injectionMetadataMap =
(Map<String, InjectionMetadata>) ReflectionUtils.getField(injectionMetadataCacheField, autowiredAnnotationBeanPostProcessor);
injectionMetadataMap.remove(controller.getClass().getName());
}
开发者ID:cattientk,项目名称:daros-dynamic,代码行数:8,代码来源:DynamicRegisterGroovyFile.java
示例7: postProcessMergedBeanDefinition
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的package包/类
@Override
public void postProcessMergedBeanDefinition(RootBeanDefinition beanDefinition, Class<?> beanType, String beanName) {
super.postProcessMergedBeanDefinition(beanDefinition, beanType, beanName);
if (beanType != null) {
InjectionMetadata metadata = findResourceMetadata(beanName, beanType);
metadata.checkConfigMembers(beanDefinition);
}
}
开发者ID:lamsfoundation,项目名称:lams,代码行数:9,代码来源:CommonAnnotationBeanPostProcessor.java
示例8: postProcessPropertyValues
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的package包/类
@Override
public PropertyValues postProcessPropertyValues(
PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws BeansException {
InjectionMetadata metadata = findResourceMetadata(beanName, bean.getClass());
try {
metadata.inject(bean, beanName, pvs);
}
catch (Throwable ex) {
throw new BeanCreationException(beanName, "Injection of resource dependencies failed", ex);
}
return pvs;
}
开发者ID:lamsfoundation,项目名称:lams,代码行数:14,代码来源:CommonAnnotationBeanPostProcessor.java
示例9: postProcessMergedBeanDefinition
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的package包/类
@Override
public void postProcessMergedBeanDefinition(RootBeanDefinition beanDefinition, Class<?> beanType, String beanName) {
if (beanType != null) {
InjectionMetadata metadata = findPersistenceMetadata(beanName, beanType);
metadata.checkConfigMembers(beanDefinition);
}
}
开发者ID:lamsfoundation,项目名称:lams,代码行数:8,代码来源:PersistenceAnnotationBeanPostProcessor.java
示例10: postProcessPropertyValues
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的package包/类
@Override
public PropertyValues postProcessPropertyValues(
PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws BeansException {
InjectionMetadata metadata = findPersistenceMetadata(beanName, bean.getClass());
try {
metadata.inject(bean, beanName, pvs);
}
catch (Throwable ex) {
throw new BeanCreationException(beanName, "Injection of persistence dependencies failed", ex);
}
return pvs;
}
开发者ID:lamsfoundation,项目名称:lams,代码行数:14,代码来源:PersistenceAnnotationBeanPostProcessor.java
示例11: buildAutowiringMetadata
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的package包/类
private InjectionMetadata buildAutowiringMetadata(final Class<?> clazz) {
LinkedList<InjectionMetadata.InjectedElement> elements = new LinkedList<InjectionMetadata.InjectedElement>();
Class<?> targetClass = clazz;
do {
final LinkedList<InjectionMetadata.InjectedElement> currElements =
new LinkedList<InjectionMetadata.InjectedElement>();
doWithLocalFields(targetClass, new ReflectionUtils.FieldCallback() {
@Override
public void doWith(Field field) throws IllegalArgumentException, IllegalAccessException {
CreateCache ann = field.getAnnotation(CreateCache.class);
if (ann != null) {
if (Modifier.isStatic(field.getModifiers())) {
if (logger.isWarnEnabled()) {
logger.warn("Autowired annotation is not supported on static fields: " + field);
}
return;
}
currElements.add(new AutowiredFieldElement(field, ann));
}
}
});
elements.addAll(0, currElements);
targetClass = targetClass.getSuperclass();
}
while (targetClass != null && targetClass != Object.class);
return new InjectionMetadata(clazz, elements);
}
开发者ID:alibaba,项目名称:jetcache,代码行数:32,代码来源:CreateCacheAnnotationBeanPostProcessor.java
示例12: postProcessMergedBeanDefinition
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的package包/类
@Override
public void postProcessMergedBeanDefinition(RootBeanDefinition beanDefinition, Class<?> beanType, String beanName) {
super.postProcessMergedBeanDefinition(beanDefinition, beanType, beanName);
if (beanType != null) {
InjectionMetadata metadata = findResourceMetadata(beanName, beanType, null);
metadata.checkConfigMembers(beanDefinition);
}
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:9,代码来源:CommonAnnotationBeanPostProcessor.java
示例13: postProcessPropertyValues
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的package包/类
@Override
public PropertyValues postProcessPropertyValues(
PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws BeansException {
InjectionMetadata metadata = findResourceMetadata(beanName, bean.getClass(), pvs);
try {
metadata.inject(bean, beanName, pvs);
}
catch (Throwable ex) {
throw new BeanCreationException(beanName, "Injection of resource dependencies failed", ex);
}
return pvs;
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:14,代码来源:CommonAnnotationBeanPostProcessor.java
示例14: postProcessMergedBeanDefinition
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的package包/类
@Override
public void postProcessMergedBeanDefinition(RootBeanDefinition beanDefinition, Class<?> beanType, String beanName) {
if (beanType != null) {
InjectionMetadata metadata = findPersistenceMetadata(beanName, beanType, null);
metadata.checkConfigMembers(beanDefinition);
}
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:8,代码来源:PersistenceAnnotationBeanPostProcessor.java
示例15: postProcessPropertyValues
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的package包/类
@Override
public PropertyValues postProcessPropertyValues(
PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws BeansException {
InjectionMetadata metadata = findPersistenceMetadata(beanName, bean.getClass(), pvs);
try {
metadata.inject(bean, beanName, pvs);
}
catch (Throwable ex) {
throw new BeanCreationException(beanName, "Injection of persistence dependencies failed", ex);
}
return pvs;
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:14,代码来源:PersistenceAnnotationBeanPostProcessor.java
示例16: postProcessPropertyValues
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的package包/类
public PropertyValues postProcessPropertyValues(PropertyValues pvs, final Optional<PropertyDescriptor[]> pds, Object bean, String beanName)
throws BeansException {
InjectionMetadata metadata = findAutowiringMetadata(beanName, bean.getClass(), pvs);
try {
metadata.inject(bean, beanName, pvs);
} catch (Throwable ex) {
throw new BeanCreationException(beanName, "Injection of autowired dependencies failed", ex);
}
return pvs;
}
开发者ID:ErinDavid,项目名称:elastic-config,代码行数:12,代码来源:AutowiredAnnotationResoved.java
示例17: processInjection
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的package包/类
public void processInjection(Object bean) throws BeansException {
Class<?> clazz = bean.getClass();
InjectionMetadata metadata = findAutowiringMetadata(clazz.getName(), clazz, null);
try {
metadata.inject(bean, null, null);
} catch (Throwable ex) {
throw new BeanCreationException("Injection of autowired dependencies failed for class [" + clazz + "]", ex);
}
}
开发者ID:ErinDavid,项目名称:elastic-config,代码行数:10,代码来源:AutowiredAnnotationResoved.java
示例18: postProcessPropertyValues
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的package包/类
public PropertyValues postProcessPropertyValues(
PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws BeansException {
InjectionMetadata metadata = findResourceMetadata(beanName, bean.getClass());
try {
metadata.inject(bean, beanName, pvs);
}
catch (Throwable ex) {
throw new BeanCreationException(beanName, "Injection of resource dependencies failed", ex);
}
return pvs;
}
开发者ID:deathspeeder,项目名称:class-guard,代码行数:13,代码来源:CommonAnnotationBeanPostProcessor.java
示例19: postProcessPropertyValues
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的package包/类
public PropertyValues postProcessPropertyValues(
PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws BeansException {
InjectionMetadata metadata = findPersistenceMetadata(beanName, bean.getClass());
try {
metadata.inject(bean, beanName, pvs);
}
catch (Throwable ex) {
throw new BeanCreationException(beanName, "Injection of persistence dependencies failed", ex);
}
return pvs;
}
开发者ID:deathspeeder,项目名称:class-guard,代码行数:13,代码来源:PersistenceAnnotationBeanPostProcessor.java
示例20: findFieldReferenceMetadata
import org.springframework.beans.factory.annotation.InjectionMetadata; //导入依赖的package包/类
/**
* Finds {@link InjectionMetadata.InjectedElement} Metadata from annotated {@link Reference @Reference} fields
*
* @param beanClass The {@link Class} of Bean
* @return non-null {@link List}
*/
private List<InjectionMetadata.InjectedElement> findFieldReferenceMetadata(final Class<?> beanClass) {
final List<InjectionMetadata.InjectedElement> elements = new LinkedList<InjectionMetadata.InjectedElement>();
ReflectionUtils.doWithFields(beanClass, new ReflectionUtils.FieldCallback() {
@Override
public void doWith(Field field) throws IllegalArgumentException, IllegalAccessException {
Reference reference = findReferenceAnnotation(field);
if (reference != null) {
if (Modifier.isStatic(field.getModifiers())) {
if (logger.isWarnEnabled()) {
logger.warn("@Reference annotation is not supported on static fields: " + field);
}
return;
}
elements.add(new ReferenceFieldElement(field, reference));
}
}
});
return elements;
}
开发者ID:hufeng,项目名称:dubbo2.js,代码行数:35,代码来源:ReferenceAnnotationBeanPostProcessor.java
注:本文中的org.springframework.beans.factory.annotation.InjectionMetadata类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论