Я использую определенный класс (ClassA) в моем контроллере в качестве тела запроса, но в этом классе мои автонастроенные ConfigurationProperties имеют значение null.
Контроллер:
@RestController
@RequestMapping(value = "/rest/v1/")
public class XyzController {
@Autowired
ServiceXyz serviceXyz;
@PostMapping(value = "/route")
public void route(@RequestBody ClassA classA) {
serviceXyz.methodAbc(classA);
}
}
ServiceXYZ:
@Service
public class ServiceXyz {
public boolean methodAbc(ClassA classA) {
return classA.methodA() && otherStuff();
}
}
ClassA.java:
@Component
public class ClassA {
@Autowired
ApplicationProperties applicationProperties;
public boolean methodA() {
return fieldA.equals(applicationProperties.someProperty());
}
}
ApplicationProperties.java:
@Component
@ConfigurationProperties(prefix="stuff")
public class ApplicationProperties {
// etc.
}
В пределах ClassA.methodA
значение applicationProperties
равно null
, хотя все помечены правильными аннотациями, а автоматическая разводка работает в остальной части приложения.
Возможно ли, что это просто не работает?