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 注入,直接调用会报空指针异常。

相关推荐
axng pmje23 分钟前
Java语法进阶
java·开发语言·jvm
rKWP8gKv735 分钟前
Java微服务性能监控:Prometheus与Grafana集成方案
java·微服务·prometheus
老前端的功夫37 分钟前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
qq_4352879237 分钟前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
小江的记录本40 分钟前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
止语Lab1 小时前
从手动到框架:Go DI 演进的三个拐点
开发语言·后端·golang
yaoxin5211231 小时前
397. Java 文件操作基础 - 创建常规文件与临时文件
java·开发语言·python
小短腿的代码世界1 小时前
Qt日志系统深度解析:从qDebug到企业级日志框架
开发语言·qt
REDcker2 小时前
浏览器端Web程序性能分析与优化实战 DevTools指标与工程清单
开发语言·前端·javascript·vue·ecmascript·php·js
极客先躯3 小时前
高级java每日一道面试题-2025年11月24日-容器与虚拟化题[Dockerj]-runc 的作用是什么?
java·oci 的命令行工具·最小可用·无守护进程·完全标准·创建容器的核心流程·runc 核心职责思维导图