List of usage examples for org.springframework.beans.factory.support DefaultListableBeanFactory registerBeanDefinition
@Override public void registerBeanDefinition(String beanName, BeanDefinition beanDefinition) throws BeanDefinitionStoreException
From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java
@SuppressWarnings("unchecked") @Test/*from w ww .ja va 2 s . com*/ public void testInitSecurityAwarePrototypeBean() { final DefaultListableBeanFactory lbf = new DefaultListableBeanFactory(); RootBeanDefinition bd = new RootBeanDefinition(TestSecuredBean.class); bd.setScope(ConfigurableBeanFactory.SCOPE_PROTOTYPE); bd.setInitMethodName("init"); lbf.registerBeanDefinition("test", bd); final Subject subject = new Subject(); subject.getPrincipals().add(new TestPrincipal("user1")); TestSecuredBean bean = (TestSecuredBean) Subject.doAsPrivileged(subject, new PrivilegedAction() { @Override public Object run() { return lbf.getBean("test"); } }, null); assertNotNull(bean); assertEquals("user1", bean.getUserName()); }
From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java
@Test public void testContainsBeanReturnsTrueEvenForAbstractBeanDefinition() { DefaultListableBeanFactory bf = new DefaultListableBeanFactory(); bf.registerBeanDefinition("abs", BeanDefinitionBuilder.rootBeanDefinition(TestBean.class).setAbstract(true).getBeanDefinition()); assertThat(bf.containsBean("abs"), equalTo(true)); assertThat(bf.containsBean("bogus"), equalTo(false)); }
From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java
@Test public void populatedJavaUtilOptionalBean() { DefaultListableBeanFactory bf = new DefaultListableBeanFactory(); RootBeanDefinition bd = new RootBeanDefinition(Optional.class); bd.setFactoryMethodName("of"); bd.getConstructorArgumentValues().addGenericArgumentValue("CONTENT"); bf.registerBeanDefinition("optionalBean", bd); assertEquals(Optional.of("CONTENT"), bf.getBean(Optional.class)); }
From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java
@Test public void emptyJavaUtilOptionalBean() { DefaultListableBeanFactory bf = new DefaultListableBeanFactory(); RootBeanDefinition bd = new RootBeanDefinition(Optional.class); bd.setFactoryMethodName("empty"); bf.registerBeanDefinition("optionalBean", bd); assertSame(Optional.empty(), bf.getBean(Optional.class)); }
From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java
@Test public void testNonPublicEnum() { DefaultListableBeanFactory bf = new DefaultListableBeanFactory(); RootBeanDefinition bd = new RootBeanDefinition(NonPublicEnumHolder.class); bd.getConstructorArgumentValues().addGenericArgumentValue("VALUE_1"); bf.registerBeanDefinition("holderBean", bd); NonPublicEnumHolder holder = (NonPublicEnumHolder) bf.getBean("holderBean"); assertEquals(NonPublicEnum.VALUE_1, holder.getNonPublicEnum()); }
From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java
/** * Test that by-type bean lookup caching is working effectively by searching for a * bean of type B 10K times within a container having 1K additional beans of type A. * Prior to by-type caching, each bean lookup would traverse the entire container * (all 1001 beans), performing expensive assignability checks, etc. Now these * operations are necessary only once, providing a dramatic performance improvement. * On load-free modern hardware (e.g. an 8-core MPB), this method should complete well * under the 1000 ms timeout, usually ~= 300ms. With caching removed and on the same * hardware the method will take ~13000 ms. See SPR-6870. *//* w ww . j a v a2 s. c o m*/ @Test(timeout = 1000) public void testByTypeLookupIsFastEnough() { Assume.group(TestGroup.PERFORMANCE); DefaultListableBeanFactory bf = new DefaultListableBeanFactory(); for (int i = 0; i < 1000; i++) { bf.registerBeanDefinition("a" + i, new RootBeanDefinition(A.class)); } bf.registerBeanDefinition("b", new RootBeanDefinition(B.class)); bf.freezeConfiguration(); for (int i = 0; i < 10000; i++) { bf.getBean(B.class); } }
From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java
@Test(timeout = 1000) public void testRegistrationOfManyBeanDefinitionsIsFastEnough() { Assume.group(TestGroup.PERFORMANCE); DefaultListableBeanFactory bf = new DefaultListableBeanFactory(); bf.registerBeanDefinition("b", new RootBeanDefinition(B.class)); // bf.getBean("b"); for (int i = 0; i < 100000; i++) { bf.registerBeanDefinition("a" + i, new RootBeanDefinition(A.class)); }// www .j av a 2s .c o m }
From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java
@Test(timeout = 1000) public void testRegistrationOfManySingletonsIsFastEnough() { Assume.group(TestGroup.PERFORMANCE); DefaultListableBeanFactory bf = new DefaultListableBeanFactory(); bf.registerBeanDefinition("b", new RootBeanDefinition(B.class)); // bf.getBean("b"); for (int i = 0; i < 100000; i++) { bf.registerSingleton("a" + i, new A()); }/* w w w .j av a 2 s .c o m*/ }
From source file:org.springframework.beans.factory.xml.XmlBeanFactoryTests.java
@Test public void testAutowireWithParent() throws Exception { DefaultListableBeanFactory xbf = new DefaultListableBeanFactory(); new XmlBeanDefinitionReader(xbf).loadBeanDefinitions(AUTOWIRE_CONTEXT); DefaultListableBeanFactory lbf = new DefaultListableBeanFactory(); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("name", "kerry"); RootBeanDefinition bd = new RootBeanDefinition(TestBean.class); bd.setPropertyValues(pvs);//from w ww . j a v a 2 s . co m lbf.registerBeanDefinition("spouse", bd); xbf.setParentBeanFactory(lbf); doTestAutowire(xbf); }
From source file:org.springframework.context.annotation.Spr3775InitDestroyLifecycleTests.java
private DefaultListableBeanFactory createBeanFactoryAndRegisterBean(final Class<?> beanClass, final String initMethodName, final String destroyMethodName) { DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); RootBeanDefinition beanDefinition = new RootBeanDefinition(beanClass); beanDefinition.setInitMethodName(initMethodName); beanDefinition.setDestroyMethodName(destroyMethodName); beanFactory.addBeanPostProcessor(new CommonAnnotationBeanPostProcessor()); beanFactory.registerBeanDefinition(LIFECYCLE_TEST_BEAN, beanDefinition); return beanFactory; }