W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
有時候我們希望有 Bean 可以在被創(chuàng)建時自動調(diào)用一個 init 方法,本小節(jié)就來向大家展示一下 Hasor 這方面的能力。
方式一:通過 @Init 注解,例如下面這樣。
public class PojoBean {
@Init
public void init(){
...
}
}
方式二:通過編碼方式在 Module 初始化時指定,例如下面這樣。
public class MyModule implements Module {
public void loadModule(ApiBinder apiBinder) throws Throwable {
apiBinder.bindType(PojoBean.class).initMethod("init");
}
}
小貼士:如果您組合使用 @Singleton 注解和 @Init 注解,同時這個類在 Hasor 啟動時通過 Module 預(yù)先注冊到了 Hasor 容器中。那么 Hasor 會在啟動時自動創(chuàng)建這個類并調(diào)用 init 方法。例如:
@Singleton
public class PojoBean {
@Init
public void init(){
...
}
}
public class MyModule implements Module {
public void loadModule(ApiBinder apiBinder) throws Throwable {
apiBinder.bindType(PojoBean.class);
}
}
或者下面這樣的方式也可以達到同樣的效果:
public class PojoBean {
public void init(){
...
}
}
public class MyModule implements Module {
public void loadModule(ApiBinder apiBinder) throws Throwable {
apiBinder.bindType(PojoBean.class)
.initMethod("init") // 初始化方法,相當(dāng)于 @Init 注解
.asEagerSingleton(); // 單例,相當(dāng)于 @Singleton 注解
}
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: