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

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

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

BeanDefinition.isLazyInit介绍

[英]Return whether this bean should be lazily initialized, i.e. not eagerly instantiated on startup. Only applicable to a singleton bean.
[中]返回此bean是否应该延迟初始化,即启动时不急于实例化。仅适用于单例bean。

代码示例

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

/**
 * Return whether the specified bean definition should be considered as lazy-init.
 * @param beanFactory the bean factory that is supposed to contain the bean definition
 * @param beanName the name of the bean to check
 * @see org.springframework.beans.factory.config.ConfigurableListableBeanFactory#getBeanDefinition
 * @see org.springframework.beans.factory.config.BeanDefinition#isLazyInit
 */
protected boolean isBeanDefinitionLazyInit(ListableBeanFactory beanFactory, String beanName) {
  return (beanFactory instanceof ConfigurableListableBeanFactory && beanFactory.containsBeanDefinition(beanName) &&
      ((ConfigurableListableBeanFactory) beanFactory).getBeanDefinition(beanName).isLazyInit());
}

代码示例来源:origin: org.springframework/spring-context

/**
 * Return whether the specified bean definition should be considered as lazy-init.
 * @param beanFactory the bean factory that is supposed to contain the bean definition
 * @param beanName the name of the bean to check
 * @see org.springframework.beans.factory.config.ConfigurableListableBeanFactory#getBeanDefinition
 * @see org.springframework.beans.factory.config.BeanDefinition#isLazyInit
 */
protected boolean isBeanDefinitionLazyInit(ListableBeanFactory beanFactory, String beanName) {
  return (beanFactory instanceof ConfigurableListableBeanFactory && beanFactory.containsBeanDefinition(beanName) &&
      ((ConfigurableListableBeanFactory) beanFactory).getBeanDefinition(beanName).isLazyInit());
}

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

/**
 * Determine whether the specified bean is eligible for inclusion in the
 * LiveBeansView JSON snapshot.
 * @param beanName the name of the bean
 * @param bd the corresponding bean definition
 * @param bf the containing bean factory
 * @return {@code true} if the bean is to be included; {@code false} otherwise
 */
protected boolean isBeanEligible(String beanName, BeanDefinition bd, ConfigurableBeanFactory bf) {
  return (bd.getRole() != BeanDefinition.ROLE_INFRASTRUCTURE &&
      (!bd.isLazyInit() || bf.containsSingleton(beanName)));
}

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

@Override
@Nullable
protected AbstractBeanFactoryBasedTargetSource createBeanFactoryBasedTargetSource(
    Class<?> beanClass, String beanName) {
  if (getBeanFactory() instanceof ConfigurableListableBeanFactory) {
    BeanDefinition definition =
        ((ConfigurableListableBeanFactory) getBeanFactory()).getBeanDefinition(beanName);
    if (definition.isLazyInit()) {
      return new LazyInitTargetSource();
    }
  }
  return null;
}

代码示例来源:origin: org.springframework/spring-context

/**
 * Determine whether the specified bean is eligible for inclusion in the
 * LiveBeansView JSON snapshot.
 * @param beanName the name of the bean
 * @param bd the corresponding bean definition
 * @param bf the containing bean factory
 * @return {@code true} if the bean is to be included; {@code false} otherwise
 */
protected boolean isBeanEligible(String beanName, BeanDefinition bd, ConfigurableBeanFactory bf) {
  return (bd.getRole() != BeanDefinition.ROLE_INFRASTRUCTURE &&
      (!bd.isLazyInit() || bf.containsSingleton(beanName)));
}

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

private void assertLazyInits(DefaultListableBeanFactory bf) {
  BeanDefinition foo = bf.getBeanDefinition("foo");
  BeanDefinition bar = bf.getBeanDefinition("bar");
  BeanDefinition baz = bf.getBeanDefinition("baz");
  BeanDefinition biz = bf.getBeanDefinition("biz");
  BeanDefinition buz = bf.getBeanDefinition("buz");
  assertThat(foo.isLazyInit(), is(false));
  assertThat(bar.isLazyInit(), is(true));
  assertThat(baz.isLazyInit(), is(false));
  assertThat(biz.isLazyInit(), is(true));
  assertThat(buz.isLazyInit(), is(true));
}

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

@Test
public void testLazyInitJndiLookup() throws Exception {
  BeanDefinition definition = this.beanFactory.getMergedBeanDefinition("lazyDataSource");
  assertTrue(definition.isLazyInit());
  definition = this.beanFactory.getMergedBeanDefinition("lazyLocalBean");
  assertTrue(definition.isLazyInit());
  definition = this.beanFactory.getMergedBeanDefinition("lazyRemoteBean");
  assertTrue(definition.isLazyInit());
}

代码示例来源:origin: Netflix/genie

.append(beanDefinition.isLazyInit() ? "lazy" : "eager")
.append(beanDefinition.isPrototype() ? ", prototype" : "")
.append(beanDefinition.isSingleton() ? ", singleton" : "")

代码示例来源:origin: spockframework/spock

@Override
public void beforeTestMethod(SpringTestContext testContext) throws Exception {
 Object testInstance = testContext.getTestInstance();
 if (!(testInstance instanceof Specification)) return;
 Specification specification = (Specification)testInstance;
 ScanScopedBeans scanScopedBeans = ReflectionUtil.getAnnotationRecursive(specification.getClass(), ScanScopedBeans.class);
 Set<String> scopes = scanScopedBeans == null ? Collections.<String>emptySet() :
  new HashSet<>(Arrays.asList(scanScopedBeans.value()));
 ApplicationContext applicationContext = testContext.getApplicationContext();
 String[] mockBeanNames = applicationContext.getBeanDefinitionNames();
 List<Object> mockedBeans = new ArrayList<>();
 for (String beanName : mockBeanNames) {
  BeanDefinition beanDefinition = ((BeanDefinitionRegistry)applicationContext).getBeanDefinition(beanName);
  if (beanDefinition.isAbstract() || beanDefinition.isLazyInit()) {
   continue;
  }
  if (beanDefinition.isSingleton() || scanScopedBean(scanScopedBeans, scopes, beanDefinition)) {
   Object bean = applicationContext.getBean(beanName);
   if (mockUtil.isMock(bean)) {
    mockUtil.attachMock(bean, specification);
    mockedBeans.add(bean);
   }
  }
 }
 testContext.setAttribute(MOCKED_BEANS_LIST, mockedBeans);
}

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

proxyDefinition.setLazyInit(targetDefinition.isLazyInit());

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

@Test
public void testDefaultLazyInit() {
  GenericApplicationContext context = new GenericApplicationContext();
  XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(context);
  reader.loadBeanDefinitions(LOCATION_PREFIX + "defaultWithNoOverridesTests.xml");
  assertFalse("lazy-init should be false", context.getBeanDefinition(TEST_BEAN_NAME).isLazyInit());
  assertEquals("initCount should be 0", 0, DefaultsTestBean.INIT_COUNT);
  context.refresh();
  assertEquals("bean should have been instantiated", 1, DefaultsTestBean.INIT_COUNT);
}

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

@Test
public void testLazyInitFalse() {
  GenericApplicationContext context = new GenericApplicationContext();
  XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(context);
  reader.loadBeanDefinitions(LOCATION_PREFIX + "defaultLazyInitFalseTests.xml");
  assertFalse("lazy-init should be false", context.getBeanDefinition(TEST_BEAN_NAME).isLazyInit());
  assertEquals("initCount should be 0", 0, DefaultsTestBean.INIT_COUNT);
  context.refresh();
  assertEquals("bean should have been instantiated", 1, DefaultsTestBean.INIT_COUNT);
}

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

@Test
public void testLazyInitTrue() {
  GenericApplicationContext context = new GenericApplicationContext();
  XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(context);
  reader.loadBeanDefinitions(LOCATION_PREFIX + "defaultLazyInitTrueTests.xml");
  assertTrue("lazy-init should be true", context.getBeanDefinition(TEST_BEAN_NAME).isLazyInit());
  assertEquals("initCount should be 0", 0, DefaultsTestBean.INIT_COUNT);
  context.refresh();
  assertEquals("bean should not have been instantiated yet", 0, DefaultsTestBean.INIT_COUNT);
  context.getBean(TEST_BEAN_NAME);
  assertEquals("bean should have been instantiated", 1, DefaultsTestBean.INIT_COUNT);
}

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

setLazyInit(other.isLazyInit());
if (StringUtils.hasLength(other.getFactoryBeanName())) {
  setFactoryBeanName(other.getFactoryBeanName());

代码示例来源:origin: org.springframework/spring-beans

setLazyInit(other.isLazyInit());
if (StringUtils.hasLength(other.getFactoryBeanName())) {
  setFactoryBeanName(other.getFactoryBeanName());

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

setScope(original.getScope());
setAbstract(original.isAbstract());
setLazyInit(original.isLazyInit());
setFactoryBeanName(original.getFactoryBeanName());
setFactoryMethodName(original.getFactoryMethodName());

代码示例来源:origin: org.springframework.cloud/spring-cloud-context

private void eagerlyInitialize() {
  for (String name : this.context.getBeanDefinitionNames()) {
    BeanDefinition definition = this.registry.getBeanDefinition(name);
    if (this.getName().equals(definition.getScope())
        && !definition.isLazyInit()) {
      Object bean = this.context.getBean(name);
      if (bean != null) {
        bean.getClass();
      }
    }
  }
}

代码示例来源:origin: webx/citrus

@Override
protected void registerBeanDefinition(BeanDefinitionHolder definition, BeanDefinitionRegistry registry) {
  super.registerBeanDefinition(definition, registry);
  // 如果request contexts被注册(顶级bean),则同时注册BeanFactoryPostProcessor
  if (RequestContextChainingServiceImpl.class.getName().equals(definition.getBeanDefinition().getBeanClassName())
    && !definition.getBeanDefinition().isLazyInit()) {
    registerBeanFactoryPostProcessor(definition.getBeanName(), registry);
  }
}

代码示例来源:origin: webx/citrus

@Override
protected void registerBeanDefinition(BeanDefinitionHolder definition, BeanDefinitionRegistry registry) {
  super.registerBeanDefinition(definition, registry);
  // 如果request contexts被注册(顶级bean),则同时注册BeanFactoryPostProcessor
  if (RequestContextChainingServiceImpl.class.getName().equals(definition.getBeanDefinition().getBeanClassName())
    && !definition.getBeanDefinition().isLazyInit()) {
    registerBeanFactoryPostProcessor(definition.getBeanName(), registry);
  }
}

代码示例来源:origin: org.springframework/spring-beans

setScope(original.getScope());
setAbstract(original.isAbstract());
setLazyInit(original.isLazyInit());
setFactoryBeanName(original.getFactoryBeanName());
setFactoryMethodName(original.getFactoryMethodName());

相关文章

微信公众号

最新文章

更多