pipLine 中的 process 遇到一个空指针异常

发布于 2021-11-26 07:10:19 字数 1428 浏览 793 评论 4

@黄亿华 你好,想跟你请教个问题:

@RestController
@RequestMapping("/magic")
public class WebMagicController implements Pipeline{
	@Autowired
	private StudentService	studentService;

	@ResponseBody
	@RequestMapping("/find/{id}")
	public Student find(@PathVariable("id") Long id) {
		Student student = studentService.get(id);
		return student;
	}
	
	@RequestMapping("/run")
	public void run() {
		testSave();//输出 false
		Spider.create(new QiuBaiPageProcessor()).addUrl("http://www.qiushibaike.com/textnew/")
		// 开启5个线程抓取
				.thread(5).addPipeline(new WebMagicController())
				// 启动爬虫
				.run();
	}

	@Override
	public void process(ResultItems resultItems, Task task) {
		List<String> ht_l = resultItems.get("list");
		saveStudent(ht_l);//输出为 true,报出 NullPointerException;
	}
	public void testSave(){
		System.err.println(studentService==null);
	}
	public void saveStudent(List<String> ht_l ) {
		System.err.println(studentService==null);
		List<Student> lists=new ArrayList<Student>();
		for (String string : ht_l) {
			Student student=new Student();
			student.setName(string);
			lists.add(student);
		}
		studentService.saveAll(lists);//这里的 studentService 为空
	}
}



唯独 process 的  XXXservice 是空的

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

彼岸花ソ最美的依靠 2021-12-01 22:43:24

也没有set方法吧

屌丝范 2021-12-01 20:11:09

请问你知道如何解决这null的问题吗?

多情癖 2021-12-01 14:46:54

传递service参数进去,

冷清清 2021-11-29 07:51:40

WebMagicController 这是以线程的形式new的,注入不进去的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文