假设我们有一个名为A.java的类。在A.java类中,我们有一个默认的构造函数
A(){
}
并且一个自定义构造函数具有类似
的参数A(B b){
super(b);
}
现在,C类正在扩展A类以使用A类的getter。 C再次有一个构造函数,其中包含一个参数,如
C(A a)
{
this.a = a;
}
我们再次有一个D类,在这里我们有一个像
这样的构造函数D(C c )
{this.c = c;
}
现在我的问题是我们如何在这种情况下进行弹簧施工注射?
答案 0 :(得分:0)
以下是我写的背景信息:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
<bean id="a" class="com.my.springtest.A">
<constructor-arg ref="b"/>
</bean>
<bean id="b" class="com.my.springtest.B"/>
<bean id="c" class="com.my.springtest.C">
<constructor-arg ref="a"/>
</bean>
<bean id="d" class="com.my.springtest.D">
<constructor-arg ref="c"/>
</bean>
</beans>
保存此文件并将其放入类路径中(例如,如果使用maven,则为src / main / resources)。然后你可以在junit中创建这个上下文:
@ContextConfiguration(locations = { "classpath:/test-context.xml" })
@RunWith(SpringJUnit4ClassRunner.class)
public class SpringTest {
@Autowired
private D d;
@Test
public void testBean() {
Assert.assertNotNull(d);
}
}