今天学习了一个注解为null的问题,分享给大家。
在一个工具类里面用了@Autowired注入了MyMessageListener时,一直报 java.lang.nullpointerexception 异常,经过调试发现注解值为null。
1要说是注入失败也不对,因为报的错误不是初始化失败,@Autowired也没问题,猜测应该是注入了,但是位置不对。
解决方法-三个步骤:
step1:在类上面加上@Component 注解
方法step2: 添加该类的静态对象
添加静态对象step3: 用PostConstruct修饰init方法,并在init方法中对其赋值
加@PostConstruct注解init方法关于@PostConstruct:被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法。被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行。
网友评论