• 第三章 高级装配


    一、注解@Profile("name")||环境与profile

    1. 可以应用在类级别上或方法级别(用在java的配置代码中)

    2. 使用注解@ActiveProfiles("name")激活相应的Bean

    3. 只有Profile在激活状态时,才会创建相应的Bean

    二、注解@Conditional(MyCondition.class)||条件化bean

    1. 创建MyCondition类,实现Condition接口

    2. 若matches()方法返回true,则所有@Conditional注解上引用MyCondition的Bean都会被创建

    三、注解@Primary和自定义限定符注解||处理自动装配的歧义性

    1. 注解@Primary:标示首选Bean

    2. 注解@Qualifier("name"):在Java的配置代码中创建限定符,配合@AutoWired注解可使用相应的限定Bean

    3. 创建自定义的限定符注解代替注解@Qualifier("name")注解(解决@Qualifier命名冲突问题)

    四、Bean的作用域

    1. 默认:单例模式

    2. 注解@Scope(value):配合@Component或@Bean一起使用,value的值可查看ConfigurableBeanFactory

    3. Session和请求作用域(在会话和请求范围内共享Bean)

    五、运行时值注入

    1. 在Java配置的代码中在相应的构造器中直接注入

    2. 注解@PropertySource("xxx.properties"):声明属性资源

      • 使用Environment,env.getProperty(""):检索属性值

      • Environment的其他用法请查看API文档

    3. 属性占位符

    4. Spring表达式语言

  • 相关阅读:
    iOS:网络检测
    WinJS:设置listView垂直滚动
    iOS:在AppDelegate中定义managed object context
    简笔画项目总结: ios绘图机制 & 实现记录笔迹功能
    CSS基础
    DOM小结
    iOS:view.frame
    WP:初探
    iOS:UIWebView scrollView 的分页滑动问题
    Mono for Android: 利用mono for android开发的第一个程序
  • 原文地址:https://www.cnblogs.com/realsoul/p/6069421.html
Copyright © 2020-2023  润新知