Spring Boot,运行静态块

时间:2018-06-11 18:52:58

标签: java

我是Spring框架的新手。在我的应用程序中,我试图调用静态类方法,但它遇到了一些异常。         我调用的方法的类如下: -

    public class BmiRangeUtility {
        private static Map<Character, BmiRangeResponse> bmiMap = null;
        static {
            List<BmiRangeResponse> bmiRange =new DefaultBmiService().findBmiRange();
            bmiRange.stream().peek(e->bmiMap.put(e.getGender(), e));
        }
        public static BmiRangeResponse getBmiMapDetails(Character gender) {
            return bmiMap.get(gender);
        }
    }

我的DefaultBmiService如下: -

     @Service
        public class DefaultBmiService implements BmiService {
        @Autowired 
        private SomeRepository repo;
        //some methods
        }

现在当我运行BmiRangeUtility.getBmiMapDetails('M')时,它运行到NullPointerException。

1 个答案:

答案 0 :(得分:0)

将bmiMap更改为:

private static Map<Character, BmiRangeResponse> bmiMap = new HashMap<Character, BmiRangeResponse>();