前言
最近在做学校的一卡通网站模拟登陆的时候,因为需要验证码,用了百度OCR的文字识别接口,方法教程在另一篇博客里面会说到,获取百度的Access_Token的时候有效期30天,需要保存到数据库中
注入了这个jpa操作数据库,发现居然空指针null
可能的原因: 网上查了一下,原因可能在于我的utils包的类和controller的类不是同一个上下文。
解决办法
通过添加以下三个关键的地方,可以解决该问题
关于@PostConstruct:被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法。被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行。
@Component
public class BaiDuOrc{
@Autowired
private AccessTokenOcrRepository accessTokenOcrRepository;
public static BaiDuOrc baiDuOrc ;
@PostConstruct //通过@PostConstruct实现初始化bean之前进