Как я могу найти реализации транзакционной аннотации Springframework? Я нашел только код ниже:
Это файл decompiled.class.
package org.springframework.transaction.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.core.annotation.AliasFor;
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface Transactional {
@AliasFor("transactionManager")
String value() default "";
@AliasFor("value")
String transactionManager() default "";
Propagation propagation() default Propagation.REQUIRED;
Isolation isolation() default Isolation.DEFAULT;
int timeout() default -1;
boolean readOnly() default false;
Class<? extends Throwable>[] rollbackFor() default {};
String[] rollbackForClassName() default {};
Class<? extends Throwable>[] noRollbackFor() default {};
String[] noRollbackForClassName() default {};
}
Некоторое описание, но не видно, как именно оно реализовано: Вы можете поместить аннотацию @Transactional
перед интерфейсом определение, метод интерфейса, определение класса или метод publi c для класса. Однако простого присутствия аннотации @Transactional
недостаточно для активации поведения транзакции. Аннотация @Transactional
- это просто метаданные, которые могут использоваться некоторой инфраструктурой времени выполнения, которая осведомлена о @Transactional
и которая может использовать метаданные для настройки соответствующих bean-компонентов с транзакционным поведением. В предыдущем примере элемент <tx:annotation-driven/>
включает поведение транзакции.