admin管理员组

文章数量:1641940

ApplicationContextAware加载顺序遇到的问题

  • 背景
  • 问题

)

背景

公司使用的是自主研发的框架,类似ibatis,封装可统一的list查询接口,自定义SpringBeanFactory实现ApplicationContextAware获取spring上下文对象。问题时个人记录使用,练习下写博客。

问题

之前在mvc环境下使用一直没有问题,最近切换成springboot框架,系统启动时list接口类会调用SpringBeanFactory的getbean方法注入一个bean,发现SpringBeanFactory的set方法还没有调用,就是系统还没有扫描到SpringBeanFactory对象;
开始在list接口类上加@Lazy注解,调用到当前类时再初始化,可以解决当前问题,后期发现这个类还有静态变量,其他地方要用到,如果没有调到这个接口他的静态变量使用是否会有问题?静态代码块是否执行?(时间问题,没有测试)考虑到这些问题,决定不使用@Lazy注解,百度一下发现@DependsOn(value = “springBeanFactory”)可以解决这个问题。

本文标签: 顺序加载ApplicationContextAware