美文网首页
Spring -- 装配Bean(Part 2 /3)

Spring -- 装配Bean(Part 2 /3)

作者: Rc在努力 | 来源:发表于2018-07-06 09:48 被阅读3次

《Spring 实战》 读书笔记 第二章

Spring配置的可选方案

尽可能地使用自动配置的机制。显示配置越少越好(有些源码不是你来维护的,而当你需要为这些代码配置bean的时候,需要显示配置bean)。推荐使用类型安全并且比xml更加强大的JavaConfig。最后,只有当你想要使用便利的xml命名空间,并且在JavaConfig中没有同样的实现时,才使用xml。

尽管在很多场景下通过组件扫描和自动装配实现Spring的自动化配置是更为推荐的方式,但有时候自动化配置的方案行不通,因此需要明确配置Spring。比如说,你想要将第三方库中的组件装配到你的应用中,在这种情况下,是没有办法在它的类上添加@Component和@Autowired注解的,因此就不能使用自动化装配方案了。

在这种情况下,你必须要采用显示装配方式,在进行显示配置时,有两种可选的方案:Java和Xml。在这节中,介绍Java配置。

创建配置类

@Configuration
public class CDPlayerConfig {}

@Configuration注解表明这个类是一个配置类,该类应该包含在Spring应用上下文中如何创建bean的细节

这里把依赖扫描@ComponentScan注解移除掉,因为我们想要显示配置。

声明简单的bean

要显示声明bean,需要编写一个方法,这个方法会创建所需类型的实例,然后给这个方法添加@Bean注解。

@Bean注解会告诉Spring这个方法将会返回一个对象,该对象要注册为Spring应用上下文中的bean。


@Configuration
public class CDPlayerConfig {
  
  @Bean
  public CompactDisc compactDisc() {
    return new SgtPeppers();
  }
  


}

默认情况下,bean的ID与带有@Bean注解的方法名是一样的,在本例中,bean的名字将会是compactDisc,如果你想为其设置成一个不同的名字的话,那么可以重命名该方法,或者也可以通过name属性指定一个不同的名字。

  @Bean(name = "helloWorld")
  public CompactDisc compactDisc() {
    return new SgtPeppers();
  }

默认情况下,Spring中的bean都是单例的,

相关文章

网友评论

      本文标题:Spring -- 装配Bean(Part 2 /3)

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