1.每個service的impl都可以指定名稱(使用@Service(“名稱”)) 2.Controller中註入service的時候使用名稱來指定註入哪一個。 (1). (2). 代碼如下: ...
1.每個service的impl都可以指定名稱(使用@Service(“名稱”))
2.Controller中註入service的時候使用名稱來指定註入哪一個。
(1).
@Autowired
@Qualifier("名稱")
(2).
@Resource(name="名稱")
代碼如下:
介面
public interface HumanService {
public String name();
}
介面實現類
@Service("teacherService")
public class TeacherServiceImpl implements HumanService {
@Override
public String name() {
System.out.println("teacher");
return "teacher";
}
}
@Service("doctorService")
public class DoctorServiceImpl implements HumanService {
@Override
public String name() {
System.out.println("doctor");
return "doctor";
}
}
控制器
@RestController
public class HumanController {
// @Resource(name="doctorService")
@Autowired
@Qualifier("teacherService")
private HumanService humanService;
@RequestMapping("/name")
public String name(){
return humanService.name();
}
}