Теги context
предназначены для работы с конфигурацией ApplicationContext
, относящейся к низкоуровневым классам - то есть обычно это не те бины, которые важны для конечного пользователя, а скорее бины, которые выполняют всю "черную" работу в Spring, например, BeanfactoryPostProcessors
. Следующий фрагмент ссылается на правильную схему, чтобы элементы в пространстве имен context
были доступны вам:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
<!-- определения бинов здесь -->
</beans>
Использование <property-placeholder/>
Этот элемент активирует замену ${…}
плейсхолдеров, которые разрешаются по указанному файлу свойств. Этот элемент представляет собой удобный механизм, который настраивает для вас PropertySourcesPlaceholderConfigurer
. Если вам требуется больше контроля над конкретной настройкой PropertySourcesPlaceholderConfigurer
, то можно явно определить его как бин самостоятельно.
Использование <annotation-config/>
Этот элемент активирует инфраструктуру Spring для обнаружения аннотаций в классах бинов:
-
Модель аннотации
@Configuration
в Spring -
@Autowired/@Inject
,@Value
и@Lookup
-
@Resource
,@PostConstruct
и@PreDestroy
из JSR-250 (при наличии). -
@WebServiceRef
в JAX-WS и@EJB
в EJB 3 (при наличии) -
JPA
@PersistenceContext
и@PersistenceUnit
(при наличии) -
Аннотация
@EventListener
в Spring
В качестве альтернативы можно явно активировать отдельные BeanPostProcessors
для этих аннотаций.
@Transactional
из Spring; для этой цели можно использовать элемент <tx:annotation-driven/>
. Аналогично, аннотации кэширования Spring также должны быть явно активированы.