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>
<!-- 市场判定用到的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); } ... }