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