问题描述
- java抽象类中私有属性初始化之后与预期结果不一致
-
背景是这样的,项目使用的是Spring MVC类与类之间是通过@Autowired注解进行
注入的,我有一个Email的抽象类public abstract class Mail { protected boolean isEmailContentValid = true; }
然后有多个子类机型了这个Email抽象类,比如AEmail extends Mail
public class MailFactory { @Autowired AEMail aEMail; }
在MailFactory中,通过aEMail访问其父类的属性isEmailContentValid,
竟然是false的,一直想不通是为什么,我已经在父类Email中显示初始化
了isEmailContentValid=true,为什么初始化之后确实false的?
解决方案
但是我写了一个main方法进行测试,测试结果却跟逾期的结果是一样的
输出的isEmailContentValid为true,难道是@Autowired注入的问题吗?我不解!!!
解决方案二:
那要看你自动注入的类型是否初始化过这个属性呢?
时间: 2024-11-08 20:24:20