有没有办法将依赖项注入 Spring RestControllers 提供的 POJO 中?例如,如果您想实现多态行为。
以下示例失败,NullPointerExcetion因为lowerCaseService未注入ExamplePOJO:
@RestController
public class ExampleController {
@PostMapping("/example")
String example(@RequestBody Example example) {
return example.valueToLowerCase();
}
}
@Data
@NoArgsConstructor
public class Example {
private String value;
@Autowired
private LowerCaseService lowerCaseService;
public String valueToLowerCase() {
return lowerCaseService.toLowerCase(getValue());
}
}
@Service
public class LowerCaseService {
public String toLowerCase(String value) {
return value != null ? value.toLowerCase() : null;
}
}
请注意,这个人为的示例故意简单并且不需要多态行为。我以这种方式创建它是为了帮助响应者快速理解它,而不会被 Jackson 的注释所困扰。在我的实际用例中,Jackson 将生成 的子类Example,每个子类都需要做非常不同的事情,具有不同的依赖关系。
翻阅古今
慕斯709654
侃侃无极
相关分类