Spring

Как заинжектить примитив?


Для инъекции примитивных значений в Spring Framework можно использовать аннотацию @Value или аргументы конструктора, методы-сеттеры или поля с аннотацией @Autowired. 1. Использование аннотации @Value: Вы можете использовать аннотацию @Value для инъекции примитивных значений из файла свойств (properties) или встроенных значений. Пример: @Component public class MyComponent { @Value("${my.property}") private int myProperty; // остальной код } В этом примере значение примитива `myProperty` будет взято из файла свойств, где `my.property` - ключ соответствующего значения. 2. Использование конструктора, методов-сеттеров или полей с аннотацией @Autowired: Вы также можете использовать конструктор, метод-сеттер или поле с аннотацией @Autowired для инъекции примитивных значений. Пример с конструктором: @Component public class MyComponent { private int myProperty; @Autowired public MyComponent(@Value("${my.property}") int myProperty) { this.myProperty = myProperty; } // остальной код } В этом примере значение примитива `myProperty` будет взято из файла свойств и передано в конструктор. Пример с методом-сеттером: @Component public class MyComponent { private int myProperty; @Autowired public void setMyProperty(@Value("${my.property}") int myProperty) { this.myProperty = myProperty; } // остальной код } В этом примере значение примитива `myProperty` будет взято из файла свойств и установлено через метод-сеттер. Пример с полем: @Component public class MyComponent { @Value("${my.property}") private int myProperty; // остальной код } В этом примере значение примитива `myProperty` будет взято из файла свойств и присвоено непосредственно полю. Важно отметить, что для использования аннотации @Value вы должны убедиться, что настройки для разрешения значений из файлов свойств настроены правильно, например, с помощью аннотации @PropertySource в конфигурационном классе.


Копировать ссылку