记录一个特别的空指针异常
new一个实例调用,是不带原Controller中的注入!
-------------------------------------------------
https://www.cnblogs.com/ShaYeBlog/p/7060456.html 推荐阅读【这文章就是我想表达的意思】
我们有一StudentController,里面有一个方法count()。如果要在另外一个GradeController中调用count()方法有2种方式:
因为StudentController是一个class,不是接口,接口一般都是@Autowired注入就能调用。
比如在GradeController的方法中new一个StudentController然后调用。
这种情况是在 count方法中 没有使用 其它@Autowired引入的接口service的情况下。否则会报错空指针。【这就是我空指针异常的原因!】因为new 出来的实例是不带StudentController中注入的。
----------------------------------------------------------------------------
【实际中遇到的问题】
我花了两个小时才想明白的空指针异常
我在做SSM框架下的小程序的语音程序
就是打算在一个controller调用另外一个controller的方法(平时都是通过请求来走的,没有controller之间相互调用)
然后就在这120行报呢空指针异常。【java.lang.NullPointerException
at com.thinkgem.jeesite.modules.itbee.web.TheMeetorderController.confirmOrder(TheMeetorderController.java:120)】
最后发现需要如下像织入一个service一样,交给spring来织入另外一个controller
一定需要交给spring织入。我做了下面的试验