abstract 类,里面引用@Autowired ,使用注入类的方法,报空指针异常

abstract 类,里面引用@Autowired ,使用注入类的方法,报空指针异常

java 复制代码
public abstract class BaseAutoDiscoverHandler<T extends BaseAutoDiscoverMapper> {

    @Autowired
    private MessageSource messageSource;
    protected final String CARD_NOT_EXISTS = messageSource.getMessage("parent.board.not.exist ", null,getLocale());
    }

原因:

1‌.@Autowired 注入依赖‌

在 abstract 类中直接使用 @Autowired 注入依赖(如 MessageSource messageSource)会导致以下问题:

‌Spring 无法实例化抽象类‌ :Spring 容器无法直接实例化 abstract 类,因此依赖注入无法生效。
‌循环依赖风险‌:如果 MessageSource 类依赖于当前 abstract 类的子类,会导致循环依赖问题。

‌2.protected final 字段初始化‌

代码 protected final String TEMPLET_NULL = messageSource.getMessage("template.is.empty", null, getLocale()); 存在以下问题:
‌messageSource 未注入‌:messageSource 未通过 @Autowired 注入,直接调用会报空指针异常。

相关推荐
lsx2024062 小时前
Python3 SMTP发送邮件教程
开发语言
callJJ2 小时前
Spring AI 文本聊天模型完全指南:ChatModel 与 ChatClient
java·大数据·人工智能·spring·spring ai·聊天模型
CBeann2 小时前
企业级规则引擎落地实战:动态脚本引擎 QLExpress ,真香!
java·ai·大模型·规则引擎·qlexpress·大厂实战项目
懈尘2 小时前
从 Java 1.7 到 Java 21:逐版本深入解析新特性与平台演进
java·开发语言
亓才孓2 小时前
[Maven]Maven基础
java·maven
凉辰2 小时前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频
hello 早上好2 小时前
05_Java 类加载过程
java·开发语言
PPPPPaPeR.3 小时前
光学算法实战:深度解析镜片厚度对前后表面折射/反射的影响(纯Python实现)
开发语言·python·数码相机·算法
echoVic3 小时前
多模型支持的架构设计:如何集成 10+ AI 模型
java·javascript
橙露3 小时前
Java并发编程进阶:线程池原理、参数配置与死锁避免实战
java·开发语言