美文网首页
Day04:高级话题

Day04:高级话题

作者: 宇宙超人喵学长 | 来源:发表于2017-07-18 10:25 被阅读0次
    • 1、Spring Aware
      依赖注入->bean对spring容器的存在没有意识->容器可替换
      实际->使用spring容器本身的功能资源->需要意识到spring,即spring aware->bean与spring框架耦合
      Aware接口
    • BeanNameAware:获取bean的名称
    • BeanFactoryAware:获取bean factory
    • ApplicationContextAware*:可调服务
    • MessageSourceAware:
      -ResourceLoaderAware:获得资源加载器
    • 2、多线程
    • spring通过taskexecutor实现多编程和并发
    • ThreadPoolTaskExecutor:线程池
    • @EnableAsync:开启对异步任务的支持,并在Bean方法中@Async注解声明是异步任务
    • 3、计划任务
    • 注解开启 @EnableScheduling
    • 计划任务的类型:@Scheduled(xxx="yyy") 可选项:cron指定时间,fixedRate间隔固定时间,fixDelay延迟指定时间
    • 4、@Conditional 基于条件创建bean
      @Bean @Conditional(windowsCondition.class) ...

    • 4.1、判断win
      context.getEnvironment().getProperty("os.name").contains("windows");

    • 5、组合注解与元注解

    • 组合注解

    @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Configuration //组合1 @ComponentScan //组合2 public @interface WiselyConfiguration { String[] value() default {}; //覆盖value参数 }

    使用: @WiselyConfiguratipn("packageName")

    • 6、@Enable*注解,开启某项功能的支持
    • 直接导入配置类:@Import(SchedulingCOnfiguration.class)
    • 依据条件选择配置类:@Import(AsyncConfigurationSelect.class),需要重写selectImports方法
    • 动态注册bean:@Import(AspectJAutoProxyRegistrar.class),实现了ImportBeanDefinitionRegistrar接口,参数AnnotationMedata(获得当前配置类上的注解)、BeanDefinitionRegistry(注册bean)
    • 7、@RunWith(SpringJUnit4ClassRunner.class),提供sping testcontext framework的功能
      @ContextConfiguration //配置Application Context @ActiveProfile //配置活动的profile

    相关文章

      网友评论

          本文标题:Day04:高级话题

          本文链接:https://www.haomeiwen.com/subject/scmckxtx.html