Netty+Spring

轉載自 落神飄渺雲403


加載spring的方法。

基本上兩種:

1、Netty啓動Spring容器,

寫一個啓動Spring的類,讀取Application-Context.xml。將ctx載入。

在啓動Netty的main方法裏面調用那個類的靜態init方法。Spring就被加載了。

2、啓動Spring容器,將NettyServer作爲一個Spring Bean來啓動。

寫一個main函數,裏面讀取Spring的配置文件,ctx.getBean("nettyServer")。

nettServer.init();

nettyServer.start();

這樣就啓動了Netty;

 

需要注意的是,用@Autowired需要將Netty中RestHandler一併配製成Springbean,交給springIOC容器來管理。

不然通過new出來的handler調用的action等等會是空指針的。

 

第一種方法第二種方法比較:

我覺得第二種靈活性更大。

而且可以很好的和注入搭配起來,不然就要一直調用ctx.getbean。

代碼量少了。

而且有什麼需要在一開始就執行的方法業務等就在那個main函數裏面調用bean.方法就好了。

 

還有一個需要注意的地方就是,在netty裏面傳請求 有的都是通過構造方法來傳的,而且還是new的。

所以就需要配置響應bean成protype。像action、handler。原來使用構造函數來傳遞req現在就要寫個方法來傳了。如果代碼裏面有了帶參的構造函數,必須要寫個空參的構造函數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章