一、自动装配
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>
网友评论