以下是使用内部Bean的例子:
1. XML配置方式:
<bean id="outerBean" class="com.example.OuterBean">
<!-- 内部Bean的定义 -->
<property name="innerBean">
<bean class="com.example.InnerBean" />
</property>
</bean>
在这个例子中,OuterBean内部注入了一个InnerBean。
2. Java配置方式:
@Configuration
public class AppConfig {
@Bean
public OuterBean outerBean() {
OuterBean outerBean = new OuterBean();
// 内部Bean的定义
outerBean.setInnerBean(innerBean());
return outerBean;
}
@Bean
public InnerBean innerBean() {
return new InnerBean();
}
}
在这个例子中,通过outerBean方法返回OuterBean实例,并在其中通过调用innerBean方法来获取InnerBean实例,实现了内部Bean的注入。
3. 内部Bean的匿名方式:
内部Bean也可以以匿名的方式定义,即不给内部Bean一个ID,直接内联定义在外部Bean的属性中:
<bean id="outerBean" class="com.example.OuterBean">
<!-- 内部Bean的匿名定义 -->
<property name="innerBean">
<bean class="com.example.InnerBean" />
</property>
</bean>
或者在Java配置中:
@Configuration
public class AppConfig {
@Bean
public OuterBean outerBean() {
OuterBean outerBean = new OuterBean();
// 内部Bean的匿名定义
outerBean.setInnerBean(new InnerBean());
return outerBean;
}
}
内部Bean的使用通常适用于只在外部Bean中使用的情况,而不需要在容器的顶层定义。它有助于将相关的Bean配置组织在一起,使配置更加清晰。
转载请注明出处:http://www.pingtaimeng.com/article/detail/6944/Spring