Spring实战学习笔记(二):Bean装配

Spring配置方案

Spring容器负责创建应用程序中的bean并通过DI来协调这些对象之间的关系,Spring提供了三种可选方案来装配bean:

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

事实上,一般优先采取自动装配,只有特殊情况下才选择Java配置或XML配置。

自动装配

Spring从以下角度来实现自动化装配:

  • 组件扫描(Component Scanning):Spring会自动发现应用上下文中所创建的bean
  • 自动装配(Autowiring):Spring会自动满足bean之间的依赖
相关注解
  • @Component:声明此类为一个组件类,Spring需要为此类创建一个bean(用于一个基本组件类)
  • @ComponentScan:启用组件扫描,扫描并查找带有@Component的类,Spring会为它们创建bean(用于配置类)
  • @Configuration:声明这是一个配置类(用于配置类)
  • @ContextConfiguration(classes=AConfig.class):告诉Spring在AConfig类中加载配置
  • @Autowired:自动注入bean,在使用bean的类的构造器上应用此注解,这个类其实也是一个组件类,也需要@Component(用于使用组件类的类)
使用步骤
  1. 在基本组件类上使用@Component注解
  2. 在使用上述组件类的组件类上使用@Component注解,并在其构造器上使用@Autowired注解,这样就可以将一个bean注入到使用它的组件类中
  3. 在配置类上使用@Configuration注解和@ComponentScan注解
  4. 在启动类中获取应用上下文以及bean:
    ApplicationContext context = new AnnotationApplicationContext(Aconfig.class)
    BeanClass beanName = (BeanClass)context.getBean(“beanName”)

Java装配

  1. 在配置类上使用@Configuration注解
  2. 在配置类中使用@Bean注解装配各种bean
  3. 在启动类中同上

XML装配

  • 根标签为beans
  • 用标签bean声明一个bean,id属性指定beanName,class属性指定BeanClass
  • 构造器注入采用constructor-args
  • setter注入采用property
  • 启动类需要ClassPathXmlApplicationContext

好复杂 >_< ,需要时自己查算了,不记笔记了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值