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启用组件扫描

<context:comonent-scan base-package='soundsystem'>

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:

<bean id="abc" class="soundsystem.page">
  <constructor-arg ref="" />
  <constructor-arg value="" />
</bean>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容