Почему Spring Framework не позволяет использовать примитивы autowire?

В весенней документации упоминалось

это по замыслу

Я хочу понять возможное мышление за этим дизайном.

3 ответа

Решение

Это потому что Autowiring это просто альтернатива для ссылки на ваши существующие bean-компоненты в ApplicationContext. Он ожидает bean-компонент или класс, примитив не является классом и отличается от Object. Вот почему ты не можешь Autowire примитивные типы. Вы можете использовать классы-обертки примитивных типов, таких как Integer, Double и т. Д., Чтобы иметь возможность использовать Autowiring для таких типов, потому что теперь вы ссылаетесь на класс.

Автопроводка не может быть использована для ввода примитивных и строковых значений. Работает только со ссылкой. Внедренная ссылка должна иметь класс, который является объектом. Вы можете использовать обертку для того же. то есть интергер, булево.

Для примитива вы можете сделать как /questions/9445533/svojstva-primitiva-spring-bean-pri-ispolzovanii-component-i-autowired

Вместо автоматического подключения примитивного типа, вы можете автоматически подключить класс-обёртку для int тип -> использовать Integer,

Автопроводка - это просто альтернатива ссылкам на существующие компоненты в ApplicationContext.

примитивы не являются такими компонентами, которые существуют в контексте приложения

он ожидает, что экземпляр /bean не примитив.

Другие вопросы по тегам