|
1 | 1 | /*
|
2 |
| - * Copyright 2002-2018 the original author or authors. |
| 2 | + * Copyright 2002-2019 the original author or authors. |
3 | 3 | *
|
4 | 4 | * Licensed under the Apache License, Version 2.0 (the "License");
|
5 | 5 | * you may not use this file except in compliance with the License.
|
@@ -811,26 +811,24 @@ public void testAliasCircle() {
|
811 | 811 | }
|
812 | 812 |
|
813 | 813 | @Test
|
814 |
| - public void testBeanDefinitionOverriding() { |
| 814 | + public void testAliasChaining() { |
815 | 815 | DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
|
816 |
| - lbf.registerBeanDefinition("test", new RootBeanDefinition(TestBean.class)); |
817 | 816 | lbf.registerBeanDefinition("test", new RootBeanDefinition(NestedTestBean.class));
|
818 |
| - lbf.registerAlias("otherTest", "test2"); |
819 |
| - lbf.registerAlias("test", "test2"); |
820 |
| - assertTrue(lbf.getBean("test") instanceof NestedTestBean); |
821 |
| - assertTrue(lbf.getBean("test2") instanceof NestedTestBean); |
| 817 | + lbf.registerAlias("test", "testAlias"); |
| 818 | + lbf.registerAlias("testAlias", "testAlias2"); |
| 819 | + lbf.registerAlias("testAlias2", "testAlias3"); |
| 820 | + Object bean = lbf.getBean("test"); |
| 821 | + assertSame(bean, lbf.getBean("testAlias")); |
| 822 | + assertSame(bean, lbf.getBean("testAlias2")); |
| 823 | + assertSame(bean, lbf.getBean("testAlias3")); |
822 | 824 | }
|
823 | 825 |
|
824 | 826 | @Test
|
825 |
| - public void testBeanDefinitionRemoval() { |
| 827 | + public void testBeanDefinitionOverriding() { |
826 | 828 | DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
|
827 |
| - lbf.setAllowBeanDefinitionOverriding(false); |
828 | 829 | lbf.registerBeanDefinition("test", new RootBeanDefinition(TestBean.class));
|
829 |
| - lbf.registerAlias("test", "test2"); |
830 |
| - lbf.preInstantiateSingletons(); |
831 |
| - lbf.removeBeanDefinition("test"); |
832 |
| - lbf.removeAlias("test2"); |
833 | 830 | lbf.registerBeanDefinition("test", new RootBeanDefinition(NestedTestBean.class));
|
| 831 | + lbf.registerAlias("otherTest", "test2"); |
834 | 832 | lbf.registerAlias("test", "test2");
|
835 | 833 | assertTrue(lbf.getBean("test") instanceof NestedTestBean);
|
836 | 834 | assertTrue(lbf.getBean("test2") instanceof NestedTestBean);
|
@@ -863,16 +861,31 @@ public void testBeanDefinitionOverridingWithAlias() {
|
863 | 861 | }
|
864 | 862 |
|
865 | 863 | @Test
|
866 |
| - public void testAliasChaining() { |
| 864 | + public void beanDefinitionOverridingWithConstructorArgumentMismatch() { |
867 | 865 | DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
|
| 866 | + RootBeanDefinition bd1 = new RootBeanDefinition(NestedTestBean.class); |
| 867 | + bd1.getConstructorArgumentValues().addIndexedArgumentValue(1, "value1"); |
| 868 | + lbf.registerBeanDefinition("test", bd1); |
| 869 | + RootBeanDefinition bd2 = new RootBeanDefinition(NestedTestBean.class); |
| 870 | + bd2.getConstructorArgumentValues().addIndexedArgumentValue(0, "value0"); |
| 871 | + lbf.registerBeanDefinition("test", bd2); |
| 872 | + assertTrue(lbf.getBean("test") instanceof NestedTestBean); |
| 873 | + assertEquals("value0", lbf.getBean("test", NestedTestBean.class).getCompany()); |
| 874 | + } |
| 875 | + |
| 876 | + @Test |
| 877 | + public void testBeanDefinitionRemoval() { |
| 878 | + DefaultListableBeanFactory lbf = new DefaultListableBeanFactory(); |
| 879 | + lbf.setAllowBeanDefinitionOverriding(false); |
| 880 | + lbf.registerBeanDefinition("test", new RootBeanDefinition(TestBean.class)); |
| 881 | + lbf.registerAlias("test", "test2"); |
| 882 | + lbf.preInstantiateSingletons(); |
| 883 | + lbf.removeBeanDefinition("test"); |
| 884 | + lbf.removeAlias("test2"); |
868 | 885 | lbf.registerBeanDefinition("test", new RootBeanDefinition(NestedTestBean.class));
|
869 |
| - lbf.registerAlias("test", "testAlias"); |
870 |
| - lbf.registerAlias("testAlias", "testAlias2"); |
871 |
| - lbf.registerAlias("testAlias2", "testAlias3"); |
872 |
| - Object bean = lbf.getBean("test"); |
873 |
| - assertSame(bean, lbf.getBean("testAlias")); |
874 |
| - assertSame(bean, lbf.getBean("testAlias2")); |
875 |
| - assertSame(bean, lbf.getBean("testAlias3")); |
| 886 | + lbf.registerAlias("test", "test2"); |
| 887 | + assertTrue(lbf.getBean("test") instanceof NestedTestBean); |
| 888 | + assertTrue(lbf.getBean("test2") instanceof NestedTestBean); |
876 | 889 | }
|
877 | 890 |
|
878 | 891 | @Test
|
|
0 commit comments