Netty+Spring

来源:互联网 发布:java基础入门培训学校 编辑:程序博客网 时间:2024/04/30 02:42

转载自 落神飘渺云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现在就要写个方法来传了。如果代码里面有了带参的构造函数,必须要写个空参的构造函数。

0 0
原创粉丝点击