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

相关推荐
plainGeekDev5 分钟前
ButterKnife → ViewBinding
android·java·kotlin
像我这样帅的人丶你还16 小时前
Java 后端详解(四):分页与搜索
java·javascript·后端
她的男孩16 小时前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构
tntxia17 小时前
Mybatis的日志输入
java
亦暖筑序18 小时前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式
用户2986985301421 小时前
Java 实现 Word 文档加密与权限解除
java·后端
Yeats_Liao1 天前
14:Servlet中的页面跳转-Java Web
java·后端·架构
未秃头的程序猿1 天前
告别"if-else地狱"!Java 21模式匹配,代码优雅了10倍
java·后端·面试
鹤望兰6751 天前
字节跳动国际支付-后端开发-三面面经
java
Flittly1 天前
【AgentScope Java新手村系列】(14)人机交互
java·spring boot·spring