美文网首页
Spring实战 第四版 读书笔记 第二章 装配Bean

Spring实战 第四版 读书笔记 第二章 装配Bean

作者: googoler | 来源:发表于2020-06-17 16:21 被阅读0次

    装配Bean

    • 创建应用对象之间写作关系的行为通常称为装配(wiring),这是依赖注入(DI)的本质。

    2.1配置的可选方案 P34

    • 在XML中进行显示配置;
    • 在Java中进行显示配置;
    • 隐式的 bean 发现机制和自动装配。

    建议尽可能地使用自动配置机制, 然后是 JavaConfig配置,最后是 xml配置。

    2.2 自动化装配 bean P35

    Spring从两个角度来实现自动化装配:

    • 组件扫描(component scanning)
    • 自动装配(autowiring)

    2.2.1 创建可被发现的 bean P35

    2.2.2 为组件扫描的 bean 命名 P38

    • @Component("name")

    2.2.3 设置组件扫描的基础包 P39

    • @ComponentScan(basePackages = {"package name1", "package nam2",...})
    • @ComponentScan(basePackageClasses={Class1.class, Class2.class,...})

    2.2.4 通过为 bean 添加注释实现自动装配 P40

    • @Autowired(required=false)
    • @Inject

    2.2.5 验证自动装配 P41

    image.png image.png

    2.3 通过 Java 代码装配 bean P44

    • 显示配置 bean有两种可选方案:Java 和 XML。

    2.3.1 创建配置类 P44

    • @Configuration

    2.3.2 声明简单的 bean P45

    • @Bean(name="name") //默认首字母小写类名

    2.3.3 借助 JavaConfig 实现注入 P46

    2.4 通过 XML 装配 bean P48

    2.4.2 声明一个简单的 bean P49

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    <bean id="compactDisc" class="soundsystem.BlankDisc">
      <constructor-arg value="Sgt. Pepper's Lonely Hearts Club Band" />
      <constructor-arg value="The Beatles" />
    </bean>
          
    <bean id="cdPlayer" class="soundsystem.properties.CDPlayer"
          p:compactDisc-ref="compactDisc" />
    
    </beans>
    
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:c="http://www.springframework.org/schema/c"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
      <bean id="compactDisc" class="soundsystem.BlankDisc"
            c:_0="Sgt. Pepper's Lonely Hearts Club Band" 
            c:_1="The Beatles" />
            
      <bean id="cdPlayer" class="soundsystem.CDPlayer"
            c:_-ref="compactDisc" />
    
    </beans>
    
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
      <bean id="compactDisc"
            class="soundsystem.BlankDisc">
        <constructor-arg value="Sgt. Pepper's Lonely Hearts Club Band" />
        <constructor-arg value="The Beatles" />
      </bean>
            
      <bean id="cdPlayer"
            class="soundsystem.CDPlayer">
        <constructor-arg ref="compactDisc" />
      </bean>
    
    </beans>
    
    

    2.4.3 借助构造器注入初始化 bean P50

    image.png
    image.png
    • 字面量注入到构造器中
      使用 value 属性
    • 装配集合

    2.4.3 设置属性 P56

    • property 属性 简写为: p-


      image.png
      image.png
      image.png

    2.5 导入和混合配置 P61

    2.5.1 在 JavaConfig 中引用 XML 配置 P61

    2.5.2 在 XML 中引用 JavaConfig 配置 P63

    image.png

    2.6 小结 P65

    • 自动配置
    • 基于Java的显示配置
    • 基于XML的显示配置

    优先级:
    自动配置 > 基于Java的显示配置 > 基于XML的显示配置

    相关文章

      网友评论

          本文标题:Spring实战 第四版 读书笔记 第二章 装配Bean

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