实现插拔式组件的两种方式

  |   0 评论   |   2,336 浏览

    目的:
    对springboot框架进行新插件的引用时,想通过简单的方式进行引入或排除。

    实现过程:

    @Retention(RetentionPolicy.RUNTIME)
    @Target(ElementType.TYPE)
    @Documented
    @Import(value = {Config.class})
    public @interface EnableFeignBuilderWithLogFMT {
    
    }
    
    @ComponentScan
    @Configuration
    public class AutoConfiguration {
    	@Configuration
    	@ConditionalOnProperty(name = "tonfay.logger.trace.enabled", havingValue = "true")
    	class Config{
    		@Bean
    		@ConditionalOnMissingBean
    		public Object test() {
    			log.info("test");
    			return null;
    		}
    	}
    }
    

    XML:
    tonfay.logger.trace.enabled=true

    依赖:
    spring-context
    spring-boot-autoconfigure

    评论

    发表评论

    validate