標準註解支援

下列註解在 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 (jakarta.persistence) 如果存在 JPA

  • @PersistenceUnit (jakarta.persistence) 如果存在 JPA

  • @Transactional (org.springframework.transaction.annotation) 具有有限的屬性支援

JSR-250 生命周期註解

在 Spring TestContext Framework 中,您可以對 ApplicationContext 中配置的任何應用程式元件使用具有標準語義的 @PostConstruct@PreDestroy。但是,這些生命週期註解在實際測試類別中的用法有限。

如果測試類別中的方法使用 @PostConstruct 註解,則該方法會在基礎測試框架的任何 before 方法(例如,使用 JUnit Jupiter 的 @BeforeEach 註解的方法)之前執行,並且這適用於測試類別中的每個測試方法。另一方面,如果測試類別中的方法使用 @PreDestroy 註解,則該方法永遠不會執行。因此,在測試類別中,我們建議您使用來自基礎測試框架的測試生命週期回呼,而不是 @PostConstruct@PreDestroy