zoukankan      html  css  js  c++  java
  • spring-boot autoConfiguration

    一, 第一个待注入类

    public class CacheService {
    }
    
    public class LoggerService {
    }
    

      

    方法一, 实现接口ImportSelectort

    public class CacheImportSelector implements ImportSelector {
        @Override
        public String[] selectImports(AnnotationMetadata annotationMetadata) {
            return new String[]{CacheService.class.getName()};
        }
    }

    方法二, 实现接口ImportBeanDefinitionRegistrar,

    public class LoggerServiceSelector implements ImportBeanDefinitionRegistrar {
        @Override
        public void registerBeanDefinitions(AnnotationMetadata annotationMetadata, BeanDefinitionRegistry beanDefinitionRegistry) {
            RootBeanDefinition rootBeanDefinition = new RootBeanDefinition(LoggerService.class);
            String strBeanname = StringUtils.uncapitalize(LoggerService.class.getName());
            beanDefinitionRegistry.registerBeanDefinition(strBeanname, rootBeanDefinition);
        }
    }

    自定义Enable注解, 将CacheService, LoggerService加载到Spring-boot项目中

    @Target({ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Component
    @Import({CacheImportSelector.class, LoggerServiceSelector.class})
    public @interface EnableCacheService {
    }
    
    
    
    //启动Spring-boot
    
    @EnableCacheService
    @SpringBootApplication
    public class SpringBootDemoApplication {
        public static void main(String[] args) {
            ConfigurableApplicationContext context = SpringApplication.run(SpringBootDemoApplication.class, args);
            CacheService cacheService = context.getBean(CacheService.class);
            System.out.println(cacheService.toString());
            LoggerService loggerService = context.getBean(LoggerService.class);
            System.out.println(loggerService);
        }
    }
  • 相关阅读:
    PHP Socket服务器搭建和测试
    Linux socket编程示例
    深入浅出讲解:php的socket通信
    Linux系统下/tmp目录文件重启后自动删除
    斐讯K2路由器刷不死固件+openwrt
    php ddos 安全处理代码
    windows通过ftp下载linux文件
    win7 重启dns
    hostname -f 失败解决办法
    ERROR 2003 (HY000): Can't connect to MySQL server on "" (113)
  • 原文地址:https://www.cnblogs.com/snow-man/p/11158743.html
Copyright © 2011-2022 走看看