И последнее, но не менее важное: у нас есть элементы в схеме beans. Эти элементы присутствуют в Spring с самого зарождения фреймворка.

Обратите внимание, что нельзя добавить ноль или более пар ключ-значение в XML-определения <bean/>. Что бы вы ни делали с этими дополнительными метаданными, все полностью зависит от вашей собственной специальной логики (и, как правило, это применимо, только если вы пишете свои собственные специальные элементы.

Следующий пример показывает элемент <meta/> в контексте окружающего его <bean/> (обратите внимание, что без какой-либо интерпретирующей логики метаданные фактически бесполезны).

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="foo" class="x.y.Foo">
        <meta key="cacheName" value="foo"/> 
        <property name="name" value="Rick"/>
    </bean>
</beans>
  1. Вот пример элемента meta

В случае с предыдущим примером можно предположить, что существует некая логика, которая "потребляет" определение бина и устанавливает некоторую инфраструктуру кэширования, которая использует предоставленные метаданные.