1.使用父子bean配置
<bean id="car" class="com.Car" p:band="红旗" p:price="20000.00" abstract="true"/>
<bean id="car2" p:price="20010.00" parent="car"/>
<bean id="car2" p:price="20020.00" parent="car"/>
会将父bean的配置信息传递给子bean,若子bean提供了父bean的属性,子bean将覆盖父bean的配置信息。
2.依赖
public class CacheManager {
public CacheManager(){
Timer timer = new Timer();
TimerTask cacheTask = new CacheTask();
timer.schedule(cacheTask,0,SystemSettings.REFRESH_CYCLE*1000);
}
}
public class SysInit {
public SysInit(){
System.out.println("SysInit");
//模拟从数据库中加载系统设置信息
SystemSettings.REFRESH_CYCLE = 100;
SystemSettings.SESSION_TIMEOUT = 10;
}
}
<!-- <bean>的信赖 -->
<bean id="cacheManager" class="com.baobaotao.tagdepend.CacheManager" depends-on="sysInit" />
<bean id="sysInit" class="com.baobaotao.tagdepend.SysInit" />
可以通过depends-on属性,将 sysInit 指定为 cacheManager 前置依赖的Bean,这样就可以保证 cacheManager 在实例化并运行时所引用的系统参数是最新的设置值而非类中的默认值,若是依赖多个bean,则可通过逗号,空格或分号的方式创建Bean的名称。
3.引用
<!-- <bean>引用 -->
<bean id="car" class="com.baobaotao.tagdepend.Car"/>
<bean id="boss" class="com.baobaotao.tagdepend.Boss" >
<property name="carId" >
<idref local="car"/>
</property>
</bean>
这样会把错误提前检查出来,减少配置出错的几率。
4.整合多个配置文件
<import resource="classpath:com/baobaotao/impt/beans1.xml"/>
<bean id="boss1" class="com.Boss" p:car-ref="car1"/>
我们已经在beans1.xml 配置了"car1" , 所以可以引入。若把其他的配置的文件都集合到这个配置文件里,则只需要在启动Spring时,仅需指定这个合并好的配置文件即可。