美文网首页
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