JavaRush /Курстар /All lectures for KY purposes /Стандарттуу аннотацияларды колдоо

Стандарттуу аннотацияларды колдоо

All lectures for KY purposes
Деңгээл , Сабак
жеткиликтүү

Төмөндөгү аннотациялар бардык 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 аннотацияларынын ордуна негизги тест чөйрөсүнөн тест өмүр циклинин чалууларын колдонуу сунушталат.

Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION