次の問題が発生しました。私はSpring @Componentをジェネリックで作成したいと思っていますスプリング4コンポーネントインジェクト(汎用)
@Component
public class ResponseDtoValidator<DTO> {
public ResponseEntity<DTO> methodToInvoke(DTO dto) {
return Optional.ofNullable(dto).map(result -> new >ResponseEntity<>
(result, HttpStatus.OK))
.orElse(new ResponseEntity<>(HttpStatus.NOT_FOUND)); }
}
@Controller
public class SomeController {
@Inject
private ResponseDtoValidator<DTO1> responseDtoValidator1;
@Inject
private ResponseDtoValidator<DTO2> responseDtoValidator2;
public void someMethod() {
DTO1 dto1 = new DTO1();
DTO2 dto2 = new DTO2();
responseDtoValidator1.methodToInvoke(dto1);
responseDtoValidator2.methodToInvoke(dto2);
}
}
上記のようにこのコンポーネントを注入できますか?実際には、私は試して、それは正常に動作するようだ、あなたは私が正しいかどうかを確認してくださいできますか?
正常に機能していれば問題ありません。 – Lino
https://blog.jayway.com/2013/11/03/spring-and-autowiring-of-generic-types/ –