netty服务端需要跟DB交互
@Component("nettyServer")
public class MyServerHandler extends SimpleChannelInboundHandler<String> {
@Autowired
private CoreUserMapper userMapper;
@Autowired
private CoreRounduserMapper rounduserMapper;
此处的俩mapper都为null
但是我在MyServerHandler里写个测试方法引用mapper内的方法,新建一个Controller然后@autowired注入这个MyServerHandler,断点进来这个mapper就不是空了,所以不是扫描路径的问题,我试过用service注解和@Component注解,还有在xml里bean注入都无法单独托管这个MyServerHandler
我知道问题所在
在给netty添加终端处理的 时候用了new
这里得用 spring 的注入进去才行
扫描直接扫描com包,可以使用@bean注解或者直接使用xml里面配置bean,还有你说的测试方法是怎么一个测试方法,是mian方法吗,如果是Junit测试和mian方法的话需要自己加载下Spring的配置文件
现在楼主使用lookup实现多例注入方法,但是实例过程中始终为null,暂时还没找到问题所在
```ChildChannelHandler channelHandler = channelCreator.createChannelHandler();
@Lookup("serverHandler")
public abstract MyServerHandler createServerHandler();
我之前也遇到过这个问题,后来发现netty中无法使用注入的bean,经过查看资料发现,需要主动通过getBean的方式来获取
大神们呢 帮忙解决一下啊
<context:component-scan base-package="com.sskj.**.service,com.sskj.netty">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<bean id="nettyServer" class="com.sskj.netty.MyServerHandler" ></bean>