org.springframework.beans.factory.config.BeanDefinition.getPropertyValues()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(9.3k)|赞(0)|评价(0)|浏览(119)

本文整理了Java中org.springframework.beans.factory.config.BeanDefinition.getPropertyValues()方法的一些代码示例,展示了BeanDefinition.getPropertyValues()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。BeanDefinition.getPropertyValues()方法的具体详情如下:
包路径:org.springframework.beans.factory.config.BeanDefinition
类名称:BeanDefinition
方法名:getPropertyValues

BeanDefinition.getPropertyValues介绍

[英]Return the property values to be applied to a new instance of the bean.

The returned instance can be modified during bean factory post-processing.
[中]返回要应用于bean的新实例的属性值。
返回的实例可以在bean工厂后处理期间修改。

代码示例

代码示例来源:origin: spring-projects/spring-framework

static BeanDefinition parseKeyGenerator(Element element, BeanDefinition def) {
  String name = element.getAttribute("key-generator");
  if (StringUtils.hasText(name)) {
    def.getPropertyValues().add("keyGenerator", new RuntimeBeanReference(name.trim()));
  }
  return def;
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Return if there are property values values defined for this bean.
 * @since 5.0.2
 */
default boolean hasPropertyValues() {
  return !getPropertyValues().isEmpty();
}

代码示例来源:origin: spring-projects/spring-framework

private static void parseErrorHandler(Element element, BeanDefinition def) {
  String name = element.getAttribute("error-handler");
  if (StringUtils.hasText(name)) {
    def.getPropertyValues().add("errorHandler", new RuntimeBeanReference(name.trim()));
  }
}

代码示例来源:origin: spring-projects/spring-framework

@SuppressWarnings("unchecked")
private void addInterceptorNameToList(String interceptorName, BeanDefinition beanDefinition) {
  List<String> list = (List<String>) beanDefinition.getPropertyValues().get("interceptorNames");
  Assert.state(list != null, "Missing 'interceptorNames' property");
  list.add(interceptorName);
}

代码示例来源:origin: spring-projects/spring-framework

@Override
public BeanDefinition parse(Element element, ParserContext parserContext) {
  BeanDefinition bd =
      LangNamespaceUtils.registerScriptFactoryPostProcessorIfNecessary(parserContext.getRegistry());
  String refreshCheckDelay = element.getAttribute(REFRESH_CHECK_DELAY_ATTRIBUTE);
  if (StringUtils.hasText(refreshCheckDelay)) {
    bd.getPropertyValues().add("defaultRefreshCheckDelay", Long.valueOf(refreshCheckDelay));
  }
  String proxyTargetClass = element.getAttribute(PROXY_TARGET_CLASS_ATTRIBUTE);
  if (StringUtils.hasText(proxyTargetClass)) {
    bd.getPropertyValues().add("defaultProxyTargetClass", new TypedStringValue(proxyTargetClass, Boolean.class));
  }
  return null;
}

代码示例来源:origin: spring-projects/spring-framework

public static void forceAutoProxyCreatorToExposeProxy(BeanDefinitionRegistry registry) {
  if (registry.containsBeanDefinition(AUTO_PROXY_CREATOR_BEAN_NAME)) {
    BeanDefinition definition = registry.getBeanDefinition(AUTO_PROXY_CREATOR_BEAN_NAME);
    definition.getPropertyValues().add("exposeProxy", Boolean.TRUE);
  }
}

代码示例来源:origin: spring-projects/spring-framework

public static void forceAutoProxyCreatorToUseClassProxying(BeanDefinitionRegistry registry) {
  if (registry.containsBeanDefinition(AUTO_PROXY_CREATOR_BEAN_NAME)) {
    BeanDefinition definition = registry.getBeanDefinition(AUTO_PROXY_CREATOR_BEAN_NAME);
    definition.getPropertyValues().add("proxyTargetClass", Boolean.TRUE);
  }
}

代码示例来源:origin: spring-projects/spring-framework

private String buildDescription(BeanReference adviceReference, BeanDefinition pointcutDefinition) {
  return "Advisor <advice(ref)='" +
      adviceReference.getBeanName() + "', pointcut(expression)=[" +
      pointcutDefinition.getPropertyValues().get("expression") + "]>";
}

代码示例来源:origin: spring-projects/spring-framework

@Override
  public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) {
    BeanDefinition bd = beanFactory.getBeanDefinition("beanPostProcessor");
    bd.getPropertyValues().addPropertyValue("nameSuffix", "-processed-" + myProp);
  }
};

代码示例来源:origin: spring-projects/spring-framework

private static void registerTransactionManager(Element element, BeanDefinition def) {
  def.getPropertyValues().add("transactionManagerBeanName",
      TxNamespaceHandler.getTransactionManagerName(element));
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Apply the given property value to the corresponding bean.
 */
protected void applyPropertyValue(
    ConfigurableListableBeanFactory factory, String beanName, String property, String value) {
  BeanDefinition bd = factory.getBeanDefinition(beanName);
  BeanDefinition bdToUse = bd;
  while (bd != null) {
    bdToUse = bd;
    bd = bd.getOriginatingBeanDefinition();
  }
  PropertyValue pv = new PropertyValue(property, value);
  pv.setOptional(this.ignoreInvalidKeys);
  bdToUse.getPropertyValues().addPropertyValue(pv);
}

代码示例来源:origin: spring-projects/spring-framework

@Override
public void applyBeanPropertyValues(Object existingBean, String beanName) throws BeansException {
  markBeanAsCreated(beanName);
  BeanDefinition bd = getMergedBeanDefinition(beanName);
  BeanWrapper bw = new BeanWrapperImpl(existingBean);
  initBeanWrapper(bw);
  applyPropertyValues(beanName, bd, bw, bd.getPropertyValues());
}

代码示例来源:origin: spring-projects/spring-framework

@Override
  public BeanDefinitionHolder decorate(Node node, BeanDefinitionHolder definition, ParserContext parserContext) {
    Element element = (Element) node;
    BeanDefinition def = definition.getBeanDefinition();
    MutablePropertyValues mpvs = (def.getPropertyValues() == null) ? new MutablePropertyValues() : def.getPropertyValues();
    mpvs.add("name", element.getAttribute("name"));
    mpvs.add("age", element.getAttribute("age"));
    ((AbstractBeanDefinition) def).setPropertyValues(mpvs);
    return definition;
  }
}

代码示例来源:origin: spring-projects/spring-framework

private void assertBeanPropertyValueOf(String propertyName, String expected, DefaultListableBeanFactory factory) {
  BeanDefinition bean = factory.getBeanDefinition(expected);
  PropertyValue value = bean.getPropertyValues().getPropertyValue(propertyName);
  assertThat(value, is(notNullValue()));
  assertThat(value.getValue().toString(), is(expected));
}

代码示例来源:origin: spring-projects/spring-framework

private void assertPropertyValue(BeanDefinition beanDefinition, String propertyName, Object expectedValue) {
  assertEquals("Property '" + propertyName + "' incorrect",
      expectedValue, beanDefinition.getPropertyValues().getPropertyValue(propertyName).getValue());
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void testWithReferencedEnvironment() throws Exception {
  BeanDefinition beanDefinition = this.beanFactory.getMergedBeanDefinition("withReferencedEnvironment");
  assertPropertyValue(beanDefinition, "jndiEnvironment", new RuntimeBeanReference("myEnvironment"));
  assertFalse(beanDefinition.getPropertyValues().contains("environmentRef"));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void threadNamePrefix() {
  BeanDefinition processorDefinition = new RootBeanDefinition(AsyncAnnotationBeanPostProcessor.class);
  ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
  executor.setThreadNamePrefix("testExecutor");
  executor.afterPropertiesSet();
  processorDefinition.getPropertyValues().add("executor", executor);
  ConfigurableApplicationContext context = initContext(processorDefinition);
  ITestBean testBean = context.getBean("target", ITestBean.class);
  testBean.test();
  testBean.await(3000);
  Thread asyncThread = testBean.getThread();
  assertTrue(asyncThread.getName().startsWith("testExecutor"));
  context.close();
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void handleExceptionWithCustomExceptionHandler() {
  Method m = ReflectionUtils.findMethod(TestBean.class, "failWithVoid");
  TestableAsyncUncaughtExceptionHandler exceptionHandler =
      new TestableAsyncUncaughtExceptionHandler();
  BeanDefinition processorDefinition = new RootBeanDefinition(AsyncAnnotationBeanPostProcessor.class);
  processorDefinition.getPropertyValues().add("exceptionHandler", exceptionHandler);
  ConfigurableApplicationContext context = initContext(processorDefinition);
  ITestBean testBean = context.getBean("target", ITestBean.class);
  assertFalse("Handler should not have been called", exceptionHandler.isCalled());
  testBean.failWithVoid();
  exceptionHandler.await(3000);
  exceptionHandler.assertCalledWith(m, UnsupportedOperationException.class);
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void propertyMetadata() throws Exception {
  BeanDefinition beanDefinition = this.beanFactory.getMergedBeanDefinition("testBean3");
  PropertyValue pv = beanDefinition.getPropertyValues().getPropertyValue("name");
  assertEquals("Harrop", pv.getAttribute("surname"));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void customLifecycleProcessorInstance() {
  BeanDefinition beanDefinition = new RootBeanDefinition(DefaultLifecycleProcessor.class);
  beanDefinition.getPropertyValues().addPropertyValue("timeoutPerShutdownPhase", 1000);
  StaticApplicationContext context = new StaticApplicationContext();
  context.registerBeanDefinition("lifecycleProcessor", beanDefinition);
  context.refresh();
  LifecycleProcessor bean = context.getBean("lifecycleProcessor", LifecycleProcessor.class);
  Object contextLifecycleProcessor = new DirectFieldAccessor(context).getPropertyValue("lifecycleProcessor");
  assertNotNull(contextLifecycleProcessor);
  assertSame(bean, contextLifecycleProcessor);
  assertEquals(1000L, new DirectFieldAccessor(contextLifecycleProcessor).getPropertyValue(
      "timeoutPerShutdownPhase"));
}

相关文章

微信公众号

最新文章

更多