public SimpleBeanResolver() { ac.registerSingleton("car", CarFactoryBean.class); ac.registerSingleton("boat", Boat.class); }
@Test public void testDefinedBeanFactoryPostProcessor() { StaticApplicationContext ac = new StaticApplicationContext(); ac.registerSingleton("tb1", TestBean.class); ac.registerSingleton("tb2", TestBean.class); ac.registerSingleton("bfpp", TestBeanFactoryPostProcessor.class); ac.refresh(); TestBeanFactoryPostProcessor bfpp = (TestBeanFactoryPostProcessor) ac.getBean("bfpp"); assertTrue(bfpp.wasCalled); }
@Test public void testMethodValidationPostProcessor() { StaticApplicationContext ac = new StaticApplicationContext(); ac.registerSingleton("mvpp", MethodValidationPostProcessor.class); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("beforeExistingAdvisors", false); ac.registerSingleton("aapp", AsyncAnnotationBeanPostProcessor.class, pvs); ac.registerSingleton("bean", MyValidBean.class); ac.refresh(); doTestProxyValidation(ac.getBean("bean", MyValidInterface.class)); ac.close(); }
@Test public void testMethodValidationPostProcessor() { StaticApplicationContext ac = new StaticApplicationContext(); ac.registerSingleton("mvpp", MethodValidationPostProcessor.class); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("beforeExistingAdvisors", false); ac.registerSingleton("aapp", AsyncAnnotationBeanPostProcessor.class, pvs); ac.registerSingleton("bean", MyValidBean.class); ac.refresh(); doTestProxyValidation(ac.getBean("bean", MyValidInterface.class)); ac.close(); }
@Before public void setUp() throws Exception { this.applicationContext = new StaticApplicationContext(); this.applicationContext.registerSingleton("controller", TestController.class); this.applicationContext.registerSingleton("controllerAdvice", TestControllerAdvice.class); this.applicationContext.refresh(); SubscribableChannel channel = Mockito.mock(SubscribableChannel.class); SimpMessageSendingOperations brokerTemplate = new SimpMessagingTemplate(channel); this.messageHandler = new TestWebSocketAnnotationMethodMessageHandler(brokerTemplate, channel, channel); this.messageHandler.setApplicationContext(this.applicationContext); this.messageHandler.afterPropertiesSet(); }
@Test public void testPrioritizedBeanDefinitionRegistryPostProcessorRegisteringAnother() { StaticApplicationContext ac = new StaticApplicationContext(); ac.registerSingleton("tb1", TestBean.class); ac.registerSingleton("tb2", TestBean.class); ac.registerBeanDefinition("bdrpp2", new RootBeanDefinition(PrioritizedOuterBeanDefinitionRegistryPostProcessor.class)); ac.refresh(); assertTrue(ac.getBean("bfpp1", TestBeanFactoryPostProcessor.class).wasCalled); assertTrue(ac.getBean("bfpp2", TestBeanFactoryPostProcessor.class).wasCalled); }
@Test public void testBeanDefinitionRegistryPostProcessorRegisteringAnother() { StaticApplicationContext ac = new StaticApplicationContext(); ac.registerSingleton("tb1", TestBean.class); ac.registerSingleton("tb2", TestBean.class); ac.registerBeanDefinition("bdrpp2", new RootBeanDefinition(OuterBeanDefinitionRegistryPostProcessor.class)); ac.refresh(); assertTrue(ac.getBean("bfpp1", TestBeanFactoryPostProcessor.class).wasCalled); assertTrue(ac.getBean("bfpp2", TestBeanFactoryPostProcessor.class).wasCalled); }
@Test public void testRegisteredBeanFactoryPostProcessor() { StaticApplicationContext ac = new StaticApplicationContext(); ac.registerSingleton("tb1", TestBean.class); ac.registerSingleton("tb2", TestBean.class); TestBeanFactoryPostProcessor bfpp = new TestBeanFactoryPostProcessor(); ac.addBeanFactoryPostProcessor(bfpp); assertFalse(bfpp.wasCalled); ac.refresh(); assertTrue(bfpp.wasCalled); }
@Test public void simpValidatorMvc() { StaticApplicationContext appCxt = new StaticApplicationContext(); appCxt.registerSingleton("mvcValidator", TestValidator.class); AbstractMessageBrokerConfiguration config = new BaseTestMessageBrokerConfig() {}; config.setApplicationContext(appCxt); assertThat(config.simpValidator(), Matchers.notNullValue()); assertThat(config.simpValidator(), Matchers.instanceOf(TestValidator.class)); }
@Test public void testQualifiedByAttributesFailsWithoutCustomQualifierRegistered() { StaticApplicationContext context = new StaticApplicationContext(); BeanDefinitionReader reader = new XmlBeanDefinitionReader(context); reader.loadBeanDefinitions(CONFIG_LOCATION); context.registerSingleton("testBean", QualifiedByAttributesTestBean.class); try { context.refresh(); fail("should have thrown a BeanCreationException"); } catch (BeanCreationException e) { assertTrue(e.getMessage().contains("found 6")); } }
@Test public void testNonQualifiedFieldFails() { StaticApplicationContext context = new StaticApplicationContext(); BeanDefinitionReader reader = new XmlBeanDefinitionReader(context); reader.loadBeanDefinitions(CONFIG_LOCATION); context.registerSingleton("testBean", NonQualifiedTestBean.class); try { context.refresh(); fail("Should have thrown a BeanCreationException"); } catch (BeanCreationException e) { assertTrue(e.getMessage().contains("found 6")); } }
@Test public void testQualifiedByBeanName() { StaticApplicationContext context = new StaticApplicationContext(); BeanDefinitionReader reader = new XmlBeanDefinitionReader(context); reader.loadBeanDefinitions(CONFIG_LOCATION); context.registerSingleton("testBean", QualifiedByBeanNameTestBean.class); context.refresh(); QualifiedByBeanNameTestBean testBean = (QualifiedByBeanNameTestBean) context.getBean("testBean"); Person person = testBean.getLarry(); assertEquals("LarryBean", person.getName()); assertTrue(testBean.myProps != null && testBean.myProps.isEmpty()); }
@Test public void testQualifiedByValue() { StaticApplicationContext context = new StaticApplicationContext(); BeanDefinitionReader reader = new XmlBeanDefinitionReader(context); reader.loadBeanDefinitions(CONFIG_LOCATION); context.registerSingleton("testBean", QualifiedByValueTestBean.class); context.refresh(); QualifiedByValueTestBean testBean = (QualifiedByValueTestBean) context.getBean("testBean"); Person person = testBean.getLarry(); assertEquals("Larry", person.getName()); }
@Test public void testQualifiedByAlias() { StaticApplicationContext context = new StaticApplicationContext(); BeanDefinitionReader reader = new XmlBeanDefinitionReader(context); reader.loadBeanDefinitions(CONFIG_LOCATION); context.registerSingleton("testBean", QualifiedByAliasTestBean.class); context.refresh(); QualifiedByAliasTestBean testBean = (QualifiedByAliasTestBean) context.getBean("testBean"); Person person = testBean.getStooge(); assertEquals("LarryBean", person.getName()); }
@Test public void testQualifiedByAnnotation() { StaticApplicationContext context = new StaticApplicationContext(); BeanDefinitionReader reader = new XmlBeanDefinitionReader(context); reader.loadBeanDefinitions(CONFIG_LOCATION); context.registerSingleton("testBean", QualifiedByAnnotationTestBean.class); context.refresh(); QualifiedByAnnotationTestBean testBean = (QualifiedByAnnotationTestBean) context.getBean("testBean"); Person person = testBean.getLarry(); assertEquals("LarrySpecial", person.getName()); }
@Test public void testQualifiedByParameterName() { StaticApplicationContext context = new StaticApplicationContext(); BeanDefinitionReader reader = new XmlBeanDefinitionReader(context); reader.loadBeanDefinitions(CONFIG_LOCATION); context.registerSingleton("testBean", QualifiedByParameterNameTestBean.class); context.refresh(); QualifiedByParameterNameTestBean testBean = (QualifiedByParameterNameTestBean) context.getBean("testBean"); Person person = testBean.getLarry(); assertEquals("LarryBean", person.getName()); }
@Test public void testQualifiedByCustomValue() { StaticApplicationContext context = new StaticApplicationContext(); BeanDefinitionReader reader = new XmlBeanDefinitionReader(context); reader.loadBeanDefinitions(CONFIG_LOCATION); context.registerSingleton("testBean", QualifiedByCustomValueTestBean.class); context.refresh(); QualifiedByCustomValueTestBean testBean = (QualifiedByCustomValueTestBean) context.getBean("testBean"); Person person = testBean.getCurly(); assertEquals("Curly", person.getName()); }
@Test public void testQualifiedByAnnotationValue() { StaticApplicationContext context = new StaticApplicationContext(); BeanDefinitionReader reader = new XmlBeanDefinitionReader(context); reader.loadBeanDefinitions(CONFIG_LOCATION); context.registerSingleton("testBean", QualifiedByAnnotationValueTestBean.class); context.refresh(); QualifiedByAnnotationValueTestBean testBean = (QualifiedByAnnotationValueTestBean) context.getBean("testBean"); Person person = testBean.getLarry(); assertEquals("LarrySpecial", person.getName()); }
@Test public void testQualifiedByFieldName() { StaticApplicationContext context = new StaticApplicationContext(); BeanDefinitionReader reader = new XmlBeanDefinitionReader(context); reader.loadBeanDefinitions(CONFIG_LOCATION); context.registerSingleton("testBean", QualifiedByFieldNameTestBean.class); context.refresh(); QualifiedByFieldNameTestBean testBean = (QualifiedByFieldNameTestBean) context.getBean("testBean"); Person person = testBean.getLarry(); assertEquals("LarryBean", person.getName()); }
@Test public void testQualifiedByAttributesWithCustomQualifierRegistered() { StaticApplicationContext context = new StaticApplicationContext(); BeanDefinitionReader reader = new XmlBeanDefinitionReader(context); reader.loadBeanDefinitions(CONFIG_LOCATION); QualifierAnnotationAutowireCandidateResolver resolver = (QualifierAnnotationAutowireCandidateResolver) context.getDefaultListableBeanFactory().getAutowireCandidateResolver(); resolver.addQualifierType(MultipleAttributeQualifier.class); context.registerSingleton("testBean", MultiQualifierClient.class); context.refresh(); MultiQualifierClient testBean = (MultiQualifierClient) context.getBean("testBean"); assertNotNull( testBean.factoryTheta); assertNotNull( testBean.implTheta); }