一、Java中的一个类调用另一个类中的方法
方法1. 新建一个类。然后在调用类中先进行被调用类实例化,然后通过实例化的对象访问。
方法2.新建一个类,将该类中需要被调用的方法设置为静态(static)。然后在调用类中直接通过类名进行访问。调用格式为:类名.方法名(参数表)。
二、使用spring+springmvc时则不能直接进行调用。
1.这是CourserecordController 类中的方法:selectInsertId
@Controller
@RequestMapping("/courserecord")
public class CourserecordController {
@Autowired
public CourserecordService courserecordService ;
@ResponseBody
@RequestMapping("/selectInsertId")
public Integer selectInsertId(){
Integer id=courserecordService.selectInsertId();
return id;
}
}
@Controller
@RequestMapping("/studenttask")
public class StudenttaskController {
@Autowired
private StudenttaskService studenttaskService; //自动注入
*/
@ResponseBody
@RequestMapping("/insertTask")
public Integer Studenttask(HttpServletRequest req) throws Exception{
//这是错误的用法
// CourserecordController cod=new CourserecordController ();
// cod.insertStudentTask(stu);
//正式正确的用法
Integer id =studenttaskService.insertStudentTask(stu);
}
}
> spring 中一个类的方法被另一个类调用时,不能直接实例化这个类,再调用其中的方法;也不可以把通过service调用的方法直接定义为静态直接直接类名.方法名调用。
> 必须使用service注入的方式,用service.方法名去调用这个方法。因为spring 直接new
> 出的对象,无法自动注入@Autowired进入的spring bean**