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

_简简单单_ 发布于 2016/03/09 14:49
阅读 151
收藏 0

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

@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 是空的

加载中
0
若水191
若水191
WebMagicController 这是以线程的形式new的,注入不进去的
若水191
若水191
传递service参数进去,
选哥去拯救世界
选哥去拯救世界
请问你知道如何解决这null的问题吗?
0
若水191
若水191
也没有set方法吧
返回顶部
顶部