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

相关推荐
计算衎1 天前
Window下关于robocopy命令的讲解以及和Copy命令的区别
开发语言·bat
疯狂成瘾者1 天前
后端Spring Boot 核心知识点
java·spring boot·后端
小此方1 天前
Re: 从零开始的C++ 入門(十)类和对象·最终篇下:类型转换、static成员、友元、匿名对象、内部类、拷贝编译优化
开发语言·c++·底层
南桥几晴秋1 天前
QT按钮控件
开发语言·qt
xj7573065331 天前
《python web开发 测试驱动方法》
开发语言·前端·python
IT 行者1 天前
Spring Boot 4.x 安全监控新篇章:基于 ObservationFilterChainDecorator 的可观测性实践
java·spring boot·后端
pyniu1 天前
Spring Boot租房管理系统
java·spring boot·后端
CSDN_RTKLIB1 天前
inline内联函数基础知识
开发语言·c++
No0d1es1 天前
2025年12月 GESP CCF编程能力等级认证Python四级真题
开发语言·python·青少年编程·等级考试·gesp·ccf