Төмөндөгү аннотациялар бардык 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 методдорунун (мисалы, JUnit Jupiter'деги @BeforeEach менен аннотацияланган методдор) баарынан мурун иштейт жана бул тест класстагы ар бир тест методуна тиешелүү. Экинчи жагынан, эгер тест класстагы метод @PreDestroy менен белгиленсе, анда бул метод эч качан аткарылбайт. Ошондуктан, тест классынын контекстинде @PostConstruct жана @PreDestroy аннотацияларынын ордуна негизги тест чөйрөсүнөн тест өмүр циклинин чалууларын колдонуу сунушталат.
GO TO FULL VERSION