99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Hasor 調(diào)用類初始化方法

2018-10-06 10:30 更新

有時(shí)候我們希望有 Bean 可以在被創(chuàng)建時(shí)自動(dòng)調(diào)用一個(gè) init 方法,本小節(jié)就來向大家展示一下 Hasor 這方面的能力。

方式一:通過 @Init 注解,例如下面這樣。

public class PojoBean {
    @Init
    public void init(){
        ...
    }
}


方式二:通過編碼方式在 Module 初始化時(shí)指定,例如下面這樣。

public class MyModule implements Module {
    public void loadModule(ApiBinder apiBinder) throws Throwable {
        apiBinder.bindType(PojoBean.class).initMethod("init");
    }
}


小貼士:如果您組合使用 @Singleton 注解和 @Init 注解,同時(shí)這個(gè)類在 Hasor 啟動(dòng)時(shí)通過 Module 預(yù)先注冊(cè)到了 Hasor 容器中。那么 Hasor 會(huì)在啟動(dòng)時(shí)自動(dòng)創(chuàng)建這個(gè)類并調(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);
    }
}


或者下面這樣的方式也可以達(dá)到同樣的效果:

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 注解
    }
}


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)