從spring的4.2版本後,開始支援註解來進行事件廣播接收,這使得我們非常方便先來看看支援哪些預設事件當然了spring也支援jms訊息中介軟體,這個就可以做多個系統整合了,感覺有點偏題了,先看看事件怎麼通過註解來開發
event
描述contextrefreshedevent
contextstartedevent
spring初始化完,時觸發
contextstoppedevent
spring停止後觸發,乙個停止了的動作,可以通過start()
方法從新啟動
contextclosedevent
spring關閉,所有bean都被destroyed
掉了,這個時候不能被重新整理,或者從新啟動了
requesthandledevent
請求經過dispatcherservlet
時被觸發,在request完成之後
先看看程式
/**
*@author carl
*@date 2016/8/28
*/public
class
emailservice
implements
private listblacklist;
public
void
setblacklist(listblacklist)
public
void
this.publisher = publisher;
}/**
* 具體廣播類
*@param address
*@param text
*/public
void
sendemail(string address, string text)
// send email...
}}
/**
*@author carl
*@date 2016/8/28
*/public
class
blacklistevent
extends
private string address;
private string test;
public
blacklistevent(object source, string address, string test)
public string getaddress()
public
void
setaddress(string address)
public string gettest()
public
void
settest(string test)
}
/**
*@author carl
*@date 2016/8/28
*/public
class
blacklistnotifier
implements
@eventlistener
public
void
}@eventlistener(condition = "#event.test == 'foo'")
public
void
}@eventlistener()
public
void
handlecontextstart()
/*** 引數可以給blacklistevent 可以不給
*/@eventlistener(classes = )
public
void
handleblacklistevent()
}
解析一下這個註解怎麼用,猶如上面的程式,除了實現介面外,可以通過@eventlistener註解來實現
這裡主要對一些服務以及接受廣播bean的註冊,以便接受
/**
* 配置
*@author carl
*@date 2016/8/28
*/@configuration
public
class
@bean
public emailservice emailservice()
@bean
public blacklistnotifier notifier()
}
SPRING註解事務管理
quote 大家在使用spring的註解式事務管理時,對事務的傳播行為和隔離級別可能有點不知所措,下邊就詳細的介紹下以備方便查閱。事物註解方式 transactional 當標於類前時,標示類中所有方法都進行事物處理 例子 transactional public class testservice...
spring註解事務傳播行為
在 service 類前加上 transactional 宣告這個 service 所有方法需要事務管理。每乙個業務方法開始時都會開啟乙個事務。spring 預設情況下會對執行期例外 runtimeexception 進行事務回滾。這個例外是 unchecked 如果遇到 checked 意外就不回...
Spring的Event事件處理使用詳解
spring中使用事件非常簡單,只需要以下的幾個步驟 public class userregisterevent extends public string getusername 定義傳送郵件和發放優惠券的監聽 component order 2 可以使用order指定順序,越小優先順序越高 p...