Следующие аннотации поддерживаются при стандартной семантике для всех конфигураций Spring TestContext Framework. Обратите внимание, что данные аннотации не являются специфичными для тестов и могут использоваться в любом месте в Spring Framework.
- @Autowired
- @Qualifier
- @Value
- @Resource (jakarta.annotation, если присутствует JSR-250
- @ManagedBean (jakarta.annotation), если присутствует JSR-250
- @Inject (jakarta.inject), если присутствует JSR-330
- @Named (jakarta.inject), если присутствует JSR-330
- @PersistenceContext (javax.persistence), если присутствует JPA
- @PersistenceUnit (javax.persistence), если присутствует JPA
- @Transactional (org.springframework.transaction.annotation) с ограниченной поддержкой атрибутов
Аннотации жизненного цикла JSR-250
В Spring TestContext Framework можно использовать аннотации @PostConstruct и @PreDestroy со стандартной семантикой для любых компонентов приложения, сконфигурированных в ApplicationContext. Однако эти аннотации жизненного цикла имеют ограниченное применение в реальном тестовом классе.
Если метод в тестовом классе аннотирован @PostConstruct, то этот метод запускается до всех методов before основного тестового фреймворка (например, методов, аннотированных @BeforeEach из JUnit Jupiter), и это относится к каждому тестовому методу в тестовом классе. С другой стороны, если метод в тестовом классе помечен аннотацией @PreDestroy, этот метод никогда не будет выполнен. Поэтому в рамках тестового класса рекомендуется использовать обратные вызовы жизненного цикла теста из основного тестового окружения вместо аннотаций @PostConstruct и @PreDestroy.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ