日常问题---在线程的run方法中使用service层,报空指针异常 末蓝、 2023-03-12 07:23 187阅读 0赞 **问题:** ** 在线程的run方法中使用@Autowired注解获得Service层实例,代码如下:** public class SchedulerTask implements Runnable{ @Autowired private UserService userService; @Override public void run() { List<User> list = userService.getAll(); //调用service层 for (User user : list) { System.out.println(user); } } } ** 出现空指针异常:** ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTE1NDY5_size_16_color_FFFFFF_t_70][] **原因:** ** 在线程的run方法中使用注解@autoware注入的bean,会报空指针异常,原因是因为线程中为了线程安全,防注入。** **解决:** ** 在bean工厂中拿实例。** ** 编写获取bean实例的工具类组件。** import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; @Component public class GetBeanUtil implements ApplicationContextAware { private static ApplicationContext applicationContext; public void setApplicationContext(ApplicationContext context) { GetBeanUtil.applicationContext = context; } public static Object getBean(String name) { return applicationContext.getBean(name); } public static ApplicationContext getApplicationContext() { return applicationContext; } } ** 在Spring配置文件中配置ServiceImpl实例:** <!-- ServiceImpl --> <bean id="userServiceImpl" class="com.ssm.service.impl.UserServiceImpl" /> ** 在run方法中使用工具类拿到Service层实例:** @Component @EnableScheduling public class SchedulerTask implements Runnable{ @Override public void run() { UserService userService = (UserService) GetBeanUtil.getBean("userServiceImpl"); List<User> list = userService.getAll(); //调用service层 for (User user : list) { System.out.println(user); } } } [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTE1NDY5_size_16_color_FFFFFF_t_70]: /images/20230312/fc65e6b7656d4edead5c226982253d03.png
相关 Java中的空指针异常处理方法 在Java中,如果尝试访问或操作一个null(空)对象引用,就会抛出NullPointerException。以下是一些处理这个异常的方法: 1. **条件检查**:在使用对 喜欢ヅ旅行/ 2024年09月19日 23:03/ 0 赞/ 3 阅读
相关 Java中的空指针异常问题分析 在Java编程中,空指针异常(NullPointerException)是一种常见的运行时错误。它发生在尝试访问一个null对象的属性或方法时。 问题分析: 1. **代码 悠悠/ 2024年09月19日 02:39/ 0 赞/ 6 阅读
相关 简单Java异常处理问题:空指针异常 在Java中,`NullPointerException`是一种常见的运行时异常。当试图访问或者操作一个null对象的属性或方法时,就会抛出这个异常。 下面是一个简单的例子, Dear 丶/ 2024年09月18日 14:21/ 0 赞/ 8 阅读
相关 Java中对象引用问题:空指针异常 在Java中,对象引用问题主要表现为空指针异常。这是由于以下几种情况导致的: 1. 访问不存在的对象:当你试图访问一个尚未创建或者已经被垃圾回收的Object时,会抛出空指针 川长思鸟来/ 2024年09月12日 06:45/ 0 赞/ 19 阅读
相关 日常问题---在线程的run方法中使用service层,报空指针异常 问题: 在线程的run方法中使用@Autowired注解获得Service层实例,代码如下: public class SchedulerTask i 末蓝、/ 2023年03月12日 07:23/ 0 赞/ 188 阅读
相关 StringReader使用过程中出现空指针异常 在使用StringBuilder的过程中出现了空指针异常, BufferedReader reader = new BufferedReader(new StringRead 你的名字/ 2022年08月09日 05:23/ 0 赞/ 163 阅读
相关 测试Spring定时任务时在Dao层报空指针异常 断点调试代码走到Dao后报空指针异常,在Dao层的代码比较简单就在方法里一句: return this.findListBySqlId("findSqlByMap", pa 痛定思痛。/ 2022年06月12日 09:19/ 0 赞/ 402 阅读
相关 空指针异常 20180118 今天有个小组的小妹妹写代码,报了空指针异常.一开始就受她误导了,以为是从数据库中查出来的那个对象userinfo是空了(因为是代理对象,以为set进去的时 忘是亡心i/ 2022年06月01日 03:17/ 0 赞/ 222 阅读
相关 线程任务中使用@Autowired报空指针异常 > 多线程任务中,我是用@Autowired时,一直报空指针异常,说明不能自动注入bean 正文 我的临时解决方法是,将需要的bean当成成员变量,在线程管理中设置变量 客官°小女子只卖身不卖艺/ 2021年11月26日 13:54/ 0 赞/ 495 阅读
还没有评论,来说两句吧...