描述:使用@PreConstruct和@PreDestroy注解不生效,报错空指针异常
原因:Maven创建工程时,默认使用的jdk版本过低
解决方案:
1.指定JDK版本为1.8,有全局设置和项目设置两种方式
2.在pom.xml中添加javax.annotation依赖
<dependencies>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>jsr250-api</artifactId>
<version>1.0</version>
</dependency>
...
</dependencies>
3.如果@PostConstruct生效,而@PreDestroy不生效
a)确保获取容器后,调用了close()方法
b)实体类的范围为多例:@Scope(“prototype”)