Наступні анотації підтримуються при стандартній семантиці для всіх конфігурацій 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, то цей метод запускається до всіх методів до основного тестового фреймворку (наприклад, методів, анотованих @BeforeEach з JUnit Jupiter), і це стосується кожного тестового методу в тестовому класі. З іншого боку, якщо метод тестового класу позначений анотацією @PreDestroy, цей метод ніколи не буде виконаний. Тому в межах тестового класу рекомендується використовувати зворотні виклики життєвого циклу тесту з основного тестового оточення замість анотацій @PostConstruct та @PreDestroy.