All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ideaaedi.commonspring.lite.EnableFeature Maven / Gradle / Ivy

The newest version!
package com.ideaaedi.commonspring.lite;

import com.ideaaedi.commonspring.lite.monitor.TimeWatcher;
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;
    
    /**
     * 是否启用耗时记录器(取第一个有效值作为启用配置)
     */
    TimeWatcher[] enableTimeWatcher() default {};
    
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy