|
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.
|
@@ -812,26 +812,24 @@ public void testAliasCircle() {
|
812 | 812 | }
|
813 | 813 |
|
814 | 814 | @Test
|
815 |
| - public void testBeanDefinitionOverriding() { |
| 815 | + public void testAliasChaining() { |
816 | 816 | DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
|
817 |
| - lbf.registerBeanDefinition("test", new RootBeanDefinition(TestBean.class)); |
818 | 817 | lbf.registerBeanDefinition("test", new RootBeanDefinition(NestedTestBean.class));
|
819 |
| - lbf.registerAlias("otherTest", "test2"); |
820 |
| - lbf.registerAlias("test", "test2"); |
821 |
| - assertTrue(lbf.getBean("test") instanceof NestedTestBean); |
822 |
| - assertTrue(lbf.getBean("test2") instanceof NestedTestBean); |
| 818 | + lbf.registerAlias("test", "testAlias"); |
| 819 | + lbf.registerAlias("testAlias", "testAlias2"); |
| 820 | + lbf.registerAlias("testAlias2", "testAlias3"); |
| 821 | + Object bean = lbf.getBean("test"); |
| 822 | + assertSame(bean, lbf.getBean("testAlias")); |
| 823 | + assertSame(bean, lbf.getBean("testAlias2")); |
| 824 | + assertSame(bean, lbf.getBean("testAlias3")); |
823 | 825 | }
|
824 | 826 |
|
825 | 827 | @Test
|
826 |
| - public void testBeanDefinitionRemoval() { |
| 828 | + public void testBeanDefinitionOverriding() { |
827 | 829 | DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
|
828 |
| - lbf.setAllowBeanDefinitionOverriding(false); |
829 | 830 | lbf.registerBeanDefinition("test", new RootBeanDefinition(TestBean.class));
|
830 |
| - lbf.registerAlias("test", "test2"); |
831 |
| - lbf.preInstantiateSingletons(); |
832 |
| - lbf.removeBeanDefinition("test"); |
833 |
| - lbf.removeAlias("test2"); |
834 | 831 | lbf.registerBeanDefinition("test", new RootBeanDefinition(NestedTestBean.class));
|
| 832 | + lbf.registerAlias("otherTest", "test2"); |
835 | 833 | lbf.registerAlias("test", "test2");
|
836 | 834 | assertTrue(lbf.getBean("test") instanceof NestedTestBean);
|
837 | 835 | assertTrue(lbf.getBean("test2") instanceof NestedTestBean);
|
@@ -864,16 +862,31 @@ public void testBeanDefinitionOverridingWithAlias() {
|
864 | 862 | }
|
865 | 863 |
|
866 | 864 | @Test
|
867 |
| - public void testAliasChaining() { |
| 865 | + public void beanDefinitionOverridingWithConstructorArgumentMismatch() { |
868 | 866 | DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
|
| 867 | + RootBeanDefinition bd1 = new RootBeanDefinition(NestedTestBean.class); |
| 868 | + bd1.getConstructorArgumentValues().addIndexedArgumentValue(1, "value1"); |
| 869 | + lbf.registerBeanDefinition("test", bd1); |
| 870 | + RootBeanDefinition bd2 = new RootBeanDefinition(NestedTestBean.class); |
| 871 | + bd2.getConstructorArgumentValues().addIndexedArgumentValue(0, "value0"); |
| 872 | + lbf.registerBeanDefinition("test", bd2); |
| 873 | + assertTrue(lbf.getBean("test") instanceof NestedTestBean); |
| 874 | + assertEquals("value0", lbf.getBean("test", NestedTestBean.class).getCompany()); |
| 875 | + } |
| 876 | + |
| 877 | + @Test |
| 878 | + public void testBeanDefinitionRemoval() { |
| 879 | + DefaultListableBeanFactory lbf = new DefaultListableBeanFactory(); |
| 880 | + lbf.setAllowBeanDefinitionOverriding(false); |
| 881 | + lbf.registerBeanDefinition("test", new RootBeanDefinition(TestBean.class)); |
| 882 | + lbf.registerAlias("test", "test2"); |
| 883 | + lbf.preInstantiateSingletons(); |
| 884 | + lbf.removeBeanDefinition("test"); |
| 885 | + lbf.removeAlias("test2"); |
869 | 886 | lbf.registerBeanDefinition("test", new RootBeanDefinition(NestedTestBean.class));
|
870 |
| - lbf.registerAlias("test", "testAlias"); |
871 |
| - lbf.registerAlias("testAlias", "testAlias2"); |
872 |
| - lbf.registerAlias("testAlias2", "testAlias3"); |
873 |
| - Object bean = lbf.getBean("test"); |
874 |
| - assertSame(bean, lbf.getBean("testAlias")); |
875 |
| - assertSame(bean, lbf.getBean("testAlias2")); |
876 |
| - assertSame(bean, lbf.getBean("testAlias3")); |
| 887 | + lbf.registerAlias("test", "test2"); |
| 888 | + assertTrue(lbf.getBean("test") instanceof NestedTestBean); |
| 889 | + assertTrue(lbf.getBean("test2") instanceof NestedTestBean); |
877 | 890 | }
|
878 | 891 |
|
879 | 892 | @Test
|
|
0 commit comments