首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

init步骤加载bean

2013-08-04 
init方法加载beaninit方法不能带参数?这里我配置了一个init-methodinit表示在容易实例化这个doctor的时

init方法加载bean
init方法不能带参数?

这里我配置了一个init-method="init"表示在容易实例化这个doctor的时候,调用一个Doctor类的init方法,本来还以为可以通过这个init方法来注入要注入的信息,但是尝试过后才知道这个init方法是不能带参数的

<bean id="doctor" init-method="init">   <property name="name" value="doctor"></property>   <property name="sex" value="i don't know"></property>  lt;/bean>  

各个bean在xml文件的先后顺序无关紧要,要看java代码的调用,如果要调用userTaskOverTimeCache这个bean,它会自己去bean配置文件找这个bean,bean再找自己依赖的bean,依次加载
<!-- 市场判定用到的tair客户端 --><bean id="juryTairManager" init-method="init" value="${jury.tair.configid}" /><property name="dynamicConfig" value="true" /><property name="timeout" value="100" /></bean><!-- 市场判定用到的tair客户端 --><bean id="juryTairClientGroup" /></property></bean><!-- Tair缓存 --><bean id="userTaskOverTimeCache" /></constructor-arg></bean>

public class UserTaskOverTimeCacheTest {UserTaskOverTimeCache cache;/** * @throws java.lang.Exception */@Beforepublic void setUp() throws Exception {System.out.println("@Before");ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");// cache = (UserTaskOverTimeCache)// context.getBean("userTaskOverTimeCache");}...}


此段代码相当于
public class UserTaskOverTimeCacheTest {        UserTaskOverTimeCache cache;        /** 注意set方法和init方法的调用顺序,跟xml文件的加载顺序一一对应的     * @throws java.lang.Exception      */  @Before      public void setUp() throws Exception {          System.out.println("@Before");    JuryTairClientGroup tairGroup = new JuryTairClientGroup();MultiClusterTairManager tairManager = new MultiClusterTairManager();//tairGroup.setTairManager(tairManager);//此句放在这里也可以,因为后面操作的是同一个对象tairManager.setConfigID("market2-daily");tairManager.setDynamicConfig(true);                tairManager.setTimeout(100);tairManager.init();tairGroup.setTairManager(tairManager);userTaskOverTimeCache=new UserTaskOverTimeCache(556, tairGroup);         }  ...  }  

init方法可以加载很多信息,对于初始化bean来说,不只是set属性这么简单,可以有很多其他的动作

热点排行