我遇到以下問題。我想創建Spring @Component with generic彈簧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/ –