Когда Джексон вводит значение в свойство, он может определить значение для ввода на основе двух факторов:
- тип имущества
- идентификатор произвольной строки
таким образом, вы можете решить, что все свойства String
будут добавлены с "Default Value"
, а одно конкретное свойство String
будет добавлено с "Specific Value"
. для этого вы указываете String id в качестве значения аннотации и используете injectableValues.addValue()
, который получает String
в качестве 1-го аргумента (не Class
)
Аргумент UseInput
предназначен для случаев, когда, хотя вы указываете значение аннотации, вы можете решить, будет ли оно использоваться или проигнорировано (возвращаясь к внедрению на основе типов), это полезно, если у вас нет доступа к исходный код (например, в сторонней библиотеке), а затем вы можете использовать функцию mixin Джексона, чтобы переопределить аннотацию