首页 > 作文

解决netty中spring对象注入失败的问题

更新时间:2023-04-05 00:42:58 阅读: 评论:0

目录
netty中spring对象注入失败发现了问题所在在netty中注入spring成份可以通过以下方式

netty中spring对象注入失败

今天在做项目的时候发现在netty中注入rvice失败,百度许久后也找不到答案(@component,@postconstruct)未起作用,后灵光一现

发现了问题所在

如图:

这些地方都必须通过spring注入才能实现其他依赖注入,之前这里都是采用new的,所以导致spring注入失败

在netty中注入spring成份

前不久,在netty中使用到数据库数据,由于netty服务启动后的上下文与 spring的上下文不同,所以在netty中获取dao数据很头痛,无法使用@autowired注入。

aware本义就是”自动的”,顾名思义spring自动做了些事情。在此某些特殊的情况下,bean需要实现某个功能,但该功能必须借助于spring容器,此时就必须先获取spring容器,然后借助于spring容器实现该功能。

为了让bean获取它所在的spring容器,可以让该bean实现applicationcontextaware接口。

可以通过以下方式

import org.springframework.beans.beanxception;import org.springframework.context.applicationcontext;import org.springframework.context.applicationcontextaware;import org.springframework.stereotype.component; /** *  * @author shilei * * @time 2019年6月19日 下午5:17:50 * * @desc netty中注入 spring autowired */@componentpublic class toolnettys姓夏的名人pirngautowired implements applicationcontextaware { private static applicationcontext applicationcontext; @overridepublic void tapplicationcontext(applicationcontext applicationcontext) throws beanxception {if (toolnettyspirngautowired.applicationcontext == null) {toolnettyspirngautowired.applicationcontext = applicationcontext;}} // 获取applicationcontextp道路桥梁工程技术ublic static applicationcontext getapplicationcontext() {return applicationcontext;} // 通过na印刷专业me获取 bean.public static object getbean(string name) {return getapplicationcontext().getbean(name);} // 通过class获取bean.public static <t> t getbean(class<t> claz诚信格言z) {return getapplicationcontext().getbean(clazz);} // 通过name,以及clazz返回指定的beanpublic static <t> t getbean(string name, class<t> clazz) {return getapplicationcontext().getbean(name,文科专业 clazz);} }

在使用时 可在某业务handler中添加以下代码:

private static nodervrvice nodervrvice;static { nodervrvice = toolnettyspirngautowired.getbean(nodervrvice.class);}private static nodejparepository nodedao;static { nodedao = toolnettyspirngautowired.getbean(nodejparepository.class);}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。

本文发布于:2023-04-05 00:42:57,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/f2627a7c02ed73ebcfc50b6193f5829c.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:解决netty中spring对象注入失败的问题.doc

本文 PDF 下载地址:解决netty中spring对象注入失败的问题.pdf

下一篇:返回列表
标签:容器   上下文   可以通过   功能
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图