Spring極簡學習(二)給Bean加些小動作
阿新 • • 發佈:2018-12-23
上一篇文章已經講過了Spring是如何把自己注入到Web應用中的,並且通過配置檔案的讀取開始Bean的例項化之路。
1、例項化後、銷燬前
當然除了對常規的Bean的例項化之外,往往會產生一些特別的要求,例如在bean例項化後要做一個什麼動作,比如起一個執行緒服務。或者在bean銷燬之前進行一個記錄日誌的動作。這些固定的操作Spring都進行了標準化的配置封裝。
2、xml檔案配置
個人認為xml檔案的表達方式更容易理解,註解和介面實現方式都會將動作藏在在程式碼中,讓使用者容易找不到。所以先看xml的配置實現。
<bean id="FileServer" class="org.lyx.file.server.FileServer" init-method="init"></bean>
上述配置就表示在FileServer這個類例項化後,就執行它的init方法。
看一個例項
<bean id="personService" class="*.PersonService"
scope="singleton"
init-method="init" destroy-method="cleanUp">
</bean>
程式碼
package*.beanscope; public class PersonService { private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public void init(){ System.out.println("init"); } public void cleanUp(){ System.out.println("cleanUp"); } }
例項化後執行init()方法,例項銷燬前執行cleanup()方法。
3、其他配置方式
1、採用在方法上添加註解
實現初始化後:@PostConstruct
銷燬bean之前:@PreDestroy
2、實現介面
實現初始化後:InitializingBean
銷燬bean之前:DisposableBean