com.ideaaedi.commonspring.lite.EnableFeature Maven / Gradle / Ivy
package com.ideaaedi.commonspring.lite;
import com.ideaaedi.commonspring.lite.params.ParameterRecorder;
import com.ideaaedi.commonspring.lite.register.FeatureRegistrarFace;
import org.springframework.context.annotation.Import;
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;
/**
* 启用feature
*
* @author JustryDeng
* @see FeatureRegistrarFace
* @since 2100.7.3
*/
@Inherited
@Documented
@Import(FeatureRegistrarFace.class)
@Target(value = ElementType.TYPE)
@Retention(value = RetentionPolicy.RUNTIME)
public @interface EnableFeature {
/**
* 是否启用参数记录器(取第一个有效值作为启用配置)
*/
ParameterRecorder[] enableParameterRecorder() default {};
/**
* 是否启用防重复aop功能支持
*/
boolean enableAntiDuplicate() default false;
/**
* 是否启用分布式锁aop功能支持
*/
boolean enableLockAnno() default false;
/**
* 是否启用对普通bean(即:非spring-bean)的autowired注入支持
*/
boolean enableExtAutowiredInjector() default false;
}