Wiring beans

三种配置方式

  • XML 配置
  • Java 配置
  • Implicit bean discovery and automatic wiring (推荐配置)
    • Component scanning (组件扫描)
      • @Component
      • 默认关闭
        • 使用 @ComponentScan 来开启
        • 使用 XML: <context: component-scan> 来开启
      • 命名
        • 默认:类名首字母小写
        • 使用 @Component("lonelyHeartsClub")
        • 使用 javax.inject.Named@Named("lonelyHeartsClub")
      • 指定基本包
        • 使用 @ComponentScan("soundsystem")
        • 使用 @ComponentScan(basePackages="soundsystem")
        • 使用 @ComponentScan(basePackages={"soundsystem", "video"}) 指定多个
        • 使用 @ComponentScan(basePackageClasses={CDPlayer.class, DVDPlayer.class}) 指定
    • Autowiring (自动安装)
      • @Autowired
        • 用于 构造器
        • 用于 setter 方法
      • @Autowired(required=false): 找不到的时候,不抛出异常
      • 使用 javax.inject.Inject
    • 第三方库:没有源代码
      • 使用 JavaConfig
        • @Configuration
        • @Bean: 这个 方法 返回一个 Bean 对象
        • @Bean(name="lonelyHeartsClubBand") 指定 ID
      • 使用 XML
        • XML: <beans>
          • 使用 https//spring.io/tools/sts 生成 配置 文件
          • 使用 Spring Tool Suite 来确保 XML 配置文件正确性
        • 声明 <bean class="soundsystem.SgtPeppers" />
        • 声明 <bean id="compactDisc" class="soundsystem.SgtPeppers" />
          • 构造器 注入
            • 引用: <bean><constructor-arg ref="compactDisc"></bean>
            • 值: <bean><constructor-arg value="The Beatles" /></bean>
            • java.util.List: <bean><constructor-arg><null/></constructor-arg></bean>
              • 或者: <constructor-arg><list><value>Sgt</value><value></value></list></constructor-arg>
              • 同理: <constructor-arg><list><ref bean="sgtPeppers"></ref><ref bean="whiteAlbum"></ref></constructor-arg>
            • java.util.Set: <set></set>
          • 方法 注入
            • <bean><property name="xxx" ref="compactDisc" /></bean>
            • <bean><property name="xxx" value="The Beatles" /></bean>
    • JavaConfig 中引用 XMLConfig: @Import
      • @Import(CDConfig.class)
      • @Import({CDPlayerConfig.class, CDConfig.class})
      • @ImportResource("classpath:cd-config.xml")
    • XMLConfig 中引用 JavaConfig
      • <import resource="cd-config.xml" />

results matching ""

    No results matching ""