参数类型导致的启动空指针

这是一段获取Redis的代码,注释的代码因为修饰的是static所以每次会首先自动保存在方法栈中,但此时因为redis还未读取配置初始化,所以会报空指针异常。

使用注入的方式获取redis是可以的因为获取redis在后

public static JedisClusterBSJ jedisClusterBSJ;

    @Autowired
    public void setJedisClusterBSJ(JedisClusterBSJ aa) {
        jedisClusterBSJ = aa;
    }

    //    public static  JedisClusterBSJ jedisClusterBSJ =
//            SpringUtil.getBean("jedisClusterBSJ");


private static OpenSearchProperties openSearchProperties;  
@Resource(name = "openSearchProperties")  
    public void setOpenSearchProperties(OpenSearchProperties openSearchProperties) {  
        OpenSearchUtil.openSearchProperties = openSearchProperties;  
    } 

执行顺序:静态变量>静态初始化块度>变量>初始化块>构造器

猜你喜欢

转载自blog.csdn.net/m0_46086429/article/details/106024225