广告
返回顶部
首页 > 资讯 > 后端开发 > Python >解决netty中spring对象注入失败的问题
  • 732
分享到

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

2024-04-02 19:04:59 732人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录Netty中spring对象注入失败发现了问题所在在netty中注入spring成份可以通过以下方式netty中spring对象注入失败 今天在做项目的时候发现在netty中注入

netty中spring对象注入失败

今天在做项目的时候发现在netty中注入service失败,百度许久后也找不到答案(@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.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
 

@Component
public class ToolNettySpirngAutowired implements ApplicationContextAware { 
	private static ApplicationContext applicationContext; 
	@Override
	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
		if (ToolNettySpirngAutowired.applicationContext == null) {
			ToolNettySpirngAutowired.applicationContext = applicationContext;
		}
	}
 
	// 获取applicationContext
	public static ApplicationContext getApplicationContext() {
		return applicationContext;
	}
 
	// 通过name获取 Bean.
	public static Object getBean(String name) {
		return getApplicationContext().getBean(name);
	}
 
	// 通过class获取Bean.
	public static <T> T getBean(Class<T> clazz) {
		return getApplicationContext().getBean(clazz);
	}
 
	// 通过name,以及Clazz返回指定的Bean
	public static <T> T getBean(String name, Class<T> clazz) {
		return getApplicationContext().getBean(name, clazz);
	} 
}

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

private static nodeServService nodeServService; 
static {
    nodeServService = ToolNettySpirngAutowired.getBean(NodeServService.class);
} 
private static NodeJpaRepository nodeDao; 
static {
    nodeDao = ToolNettySpirngAutowired.getBean(NodeJpaRepository.class);
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。 

--结束END--

本文标题: 解决netty中spring对象注入失败的问题

本文链接: https://www.lsjlt.com/news/139147.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 解决netty中spring对象注入失败的问题
    目录netty中spring对象注入失败发现了问题所在在netty中注入spring成份可以通过以下方式netty中spring对象注入失败 今天在做项目的时候发现在netty中注入...
    99+
    2022-11-13
  • netty中spring对象注入失败怎么解决
    本文小编为大家详细介绍“netty中spring对象注入失败怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“netty中spring对象注入失败怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。net...
    99+
    2023-06-29
  • 解决Callable的对象中,用@Autowired注入别的对象失败问题
    实现Callable的对象中,用@Autowired注入别的对象失败 场景是这样: 我需要在一个实现类A中写一个拿到返回值的多线程,于是用的Callable,在这个实现类A外我又写了...
    99+
    2022-11-12
  • 如何解决Callable的对象中用@Autowired注入别的对象失败问题
    这篇文章给大家分享的是有关如何解决Callable的对象中用@Autowired注入别的对象失败问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实现Callable的对象中,用@Autowired注入别的对象失...
    99+
    2023-06-20
  • 如何解决Spring自动注入失败的问题
    小编给大家分享一下如何解决Spring自动注入失败的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Spring自动注入失败如何解决?我有一个被Spring @...
    99+
    2023-06-15
  • 解决@FeignClient注入service失败问题
    目录@FeignClient注入service失败Feign注入失败之坑错误信息加上之后,问题解决@FeignClient注入service失败 在入口类上方加入注解 @Enable...
    99+
    2022-11-13
  • SpringBoot@Componet注解注入失败的问题
    目录@Componet注解注入失败问题描述解决方法SpringBoot @component的作用介绍举例说明 总结@Componet注解注入失败 问题描述 在spring...
    99+
    2023-03-06
    SpringBoot @Componet @Componet注解 @Componet注解注入失败
  • Spring 父类变量注入失败的解决
    目录Spring 父类变量注入失败下面小记下这个过程Spring通过父类注入公用属性的技巧XML配置方式提取父类Annotation方式提取父类Spring 父类变量注入失败 昨天遇...
    99+
    2022-11-12
  • Spring自动注入失败的解决方法
    目录Spring自动注入失败如何解决?回答注入你的bean使用@Configurable手动查找bean:不推荐Spring自动注入失败如何解决? 我有一个被Spring @Ser...
    99+
    2022-11-12
  • spring cloud中Feign导入jar失败的问题及解决方案
    目录Feign导入jar失败的问题网上很多人在使用的feign时在pom.xml中填写的是用以下的方式也能够完美导入feignSpringcloudfeign异常报错及解决报错异常如...
    99+
    2022-11-13
  • Springboot的spring-boot-maven-plugin导入失败的问题如何解决
    本篇内容介绍了“Springboot的spring-boot-maven-plugin导入失败的问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,...
    99+
    2023-06-20
  • 解决SpringCloud Feign传对象参数调用失败的问题
    SpringCloud Feign传对象参数调用失败 不支持GET请求方式 使用Apache HttpClient替换Feign原生httpclient @...
    99+
    2022-11-12
  • 怎么解决获取VirtualBox COM对象失败错误问题
    这篇文章主要介绍“怎么解决获取VirtualBox COM对象失败错误问题”,在日常操作中,相信很多人在怎么解决获取VirtualBox COM对象失败错误问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎...
    99+
    2023-06-22
  • mybatis批量更新插入,解决失败的问题
    update sys_issue first_class = #{item.first}, second_class = #{item.second}, up...
    99+
    2023-09-01
    mybatis mysql java
  • 解决Spring在Thread中注入Bean无效的问题
    目录在Thread中注入Bean无效错误的注入方法通过封装Thread子类注入通过外部引入Spring多线程中bean的注入问题网上的主要解决方法有在Thread中注入Bean无效 ...
    99+
    2022-11-13
  • 如何解决Spring对静态变量无法注入的问题
    这篇文章主要讲解了“如何解决Spring对静态变量无法注入的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决Spring对静态变量无法注入的问题”吧!Spring对静态变量无法注入...
    99+
    2023-06-20
  • 在zuulFilter中注入bean失败的解决方案
    zuulFilter注入bean失败 一、为什么要用到这个 上周想实现在网关层 zuul 实现用户认证操作,即需要在网关过滤器中调用其他的微服务,按常规做法在 filter 中用 @...
    99+
    2022-11-12
  • 怎么解决phpmyadmin导入sql文件失败的问题
    小编给大家分享一下怎么解决phpmyadmin导入sql文件失败的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!phpmya...
    99+
    2022-10-18
  • Spring静态变量/构造函数注入失败的解决方案
    目录1、案例1:Spring对静态变量的注入为空2、案例2:在构造函数中使用Spring容器中的Bean对象,得到的结果为空补充1、案例1:Spring对静态变量的注入为空 案例代码...
    99+
    2022-11-12
  • springboot多模块化整合mybatis,mapper自动注入失败问题及解决
    目录springboot多模块化整合mybatis,mapper自动注入失败问题解决springboot mapper注入失败的一种原因具体情况是解决办法springboot多模块化...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作