spring学习-装配Bean

一、自动装配

1. 组件扫描
注解启用组件扫描

@Component: 表明该类为组件类,告知Spring要为这个类创建bean
设置bean名称:@Component("id")
@Scope: bean的作用域, 有单例、原型、会话、请求
@ComponentScan: 启用组件扫描(默认未启用),默认会扫描与配置类相同的包及这个包下的所有子包中带有@Component注解的类
设置扫描基础路径:@ComponentScan("abcd")或@ComponentScan(basePackages="abcd")或@ComponentScan(basePackages={"a","b"})或@ComponentScan(basePackageClasses={a.class,b.class})

通过XML启用组件扫描

2. 自动装配

@Autowired: 自动装配符合要求的bean,可用在变量、构造方法、方法上
@Qualifier: 指定装配bean的名称,如@Qualifier("a")
实例:

package test;

@Component
public class A{
    public void print(){
        System.out.println("test");  
    }
}
package test;

@Configuration
@ComponentScan
public class TestConfig{
}

二、 Java代码装配

@Configuration: 表明这个类为配置类
@Bean: 注册为spring上下文中的bean,默认bean的名称与方法一致
设置bean名称:@Bean(name="abcd")
实例:

package test;

@Configuration
public class TestConfig{
    @Bean
    public A a(){
        return new A();
    }
}

三、XML装配

声明一个bean:


  
  

你可能感兴趣的:(spring学习-装配Bean)