12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package cn.nosum.support.annotation;
- import java.lang.annotation.Documented;
- import java.lang.annotation.ElementType;
- import java.lang.annotation.Retention;
- import java.lang.annotation.RetentionPolicy;
- import java.lang.annotation.Target;
- import cn.nosum.support.config.DynamicClientRegistrar;
- import org.springframework.context.annotation.Import;
- /**
- * Scans for interfaces that declare they are feign clients (via
- * {@link DynamicClient} <code>@FeignClient</code>).
- * Configures component scanning directives for use with
- * {@link org.springframework.context.annotation.Configuration}
- * <code>@Configuration</code> classes.
- *
- * @author Spencer Gibb
- * @author Dave Syer
- * @since 1.0
- */
- @Documented
- @Target(ElementType.TYPE)
- @Retention(RetentionPolicy.RUNTIME)
- @Import(DynamicClientRegistrar.class)
- public @interface EnableDynamicClients {
- /**
- * Alias for the {@link #basePackages()} attribute. Allows for more concise annotation
- * declarations e.g.: {@code @ComponentScan("org.my.pkg")} instead of
- * {@code @ComponentScan(basePackages="org.my.pkg")}.
- * @return the array of 'basePackages'.
- */
- String[] value() default {};
- /**
- * Base packages to scan for annotated components.
- * <p>
- * {@link #value()} is an alias for (and mutually exclusive with) this attribute.
- * <p>
- * Use {@link #basePackageClasses()} for a type-safe alternative to String-based
- * package names.
- * @return the array of 'basePackages'.
- */
- String[] basePackages() default {};
- /**
- * Type-safe alternative to {@link #basePackages()} for specifying the packages to
- * scan for annotated components. The package of each class specified will be scanned.
- * <p>
- * Consider creating a special no-op marker class or interface in each package that
- * serves no purpose other than being referenced by this attribute.
- * @return the array of 'basePackageClasses'.
- */
- Class<?>[] basePackageClasses() default {};
- }
|