春のサービスクラスの複数の実装がある場合、どのようにあなたはどのカテゴリServiceImpl注入を知っていますか?

1.各サービスのimplが名を指定することができます(@Serviceを使用して(「名前」))

2.Controllerのサービスの中に注入すると一回の注射を指定するには、名前を使用します。

  (1)。

  @Autowired 
@Qualifier( "名称") 

  (2)。

  @Resource(名前= "名前" 

 

コードは以下の通りであります:

インターフェース
パブリックインターフェイスHumanService { 
パブリック文字列名();
}
インタフェースの実装クラス 
@Service( "teacherService")
パブリッククラスTeacherServiceImplはHumanService {実装
@Override
パブリック文字列名(){
System.out.printlnは( "教師")。
「先生」を返します。
}
}
 
 
@Service( "doctorService")
publicクラスDoctorServiceImplはHumanService {実装
@Override
パブリック文字列名(){
System.out.printlnは( "医者");
「医者」を返します。
}
}
コントローラ 

@RestController 
パブリッククラスHumanController {
// @Resource(名前= "doctorService")
    @Autowired 
@Qualifier( "teacherService")
プライベートHumanService humanService。

@RequestMapping( "/名前")
パブリック文字列名(){
(humanService.nameを返します)。
}
}
 

 

おすすめ

転載: www.cnblogs.com/zoe-java/p/11530888.html