前段时间在工作中遇见了这样一个问题,我在一个类上添加了@service注解,然后在一个方法中用了@resouce注入的类,然后在其他方法中去new这个类,再调用那个方法,会发现报空指针异常,刚好有空就自己去写了测试类去测试了下。先建一个Test2类,里面有test2方法:

再建一个Test类,将test2注入进去,在test方法中调用Test2类中的test2方法:

控制层注入Test类,调用其test方法,结果没问题:

在new一个Test类,发现会报空指针异常:

当在Spring环境中使用`@Service`注解并`new`实例化该类时,会导致空指针异常,因为new出的对象未被Spring容器管理。通过测试验证,当直接调用被Spring管理的类的方法时,一切正常,但使用new创建的实例调用相同方法则抛出异常。问题在于如何让Spring管理这些由new创建的对象。详细解决方案见原文链接。
前段时间在工作中遇见了这样一个问题,我在一个类上添加了@service注解,然后在一个方法中用了@resouce注入的类,然后在其他方法中去new这个类,再调用那个方法,会发现报空指针异常,刚好有空就自己去写了测试类去测试了下。先建一个Test2类,里面有test2方法:

再建一个Test类,将test2注入进去,在test方法中调用Test2类中的test2方法:

控制层注入Test类,调用其test方法,结果没问题:

在new一个Test类,发现会报空指针异常:

173万+
3846
1万+

被折叠的 条评论
为什么被折叠?