一、自動裝配
1. 組件掃描
注解啟用組件掃描
@Component: 表明該類為組件類冰啃,告知Spring要為這個(gè)類創(chuàng)建bean
設(shè)置bean名稱:@Component("id")
@Scope: bean的作用域彤避, 有單例撒强、原型评疗、會話冻晤、請求
@ComponentScan: 啟用組件掃描(默認(rèn)未啟用),默認(rèn)會掃描與配置類相同的包及這個(gè)包下的所有子包中帶有@Component注解的類
設(shè)置掃描基礎(chǔ)路徑:@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漱办,可用在變量这刷、構(gòu)造方法、方法上
@Qualifier: 指定裝配bean的名稱娩井,如@Qualifier("a")
實(shí)例:
package test;
@Component
public class A{
public void print(){
System.out.println("test");
}
}
package test;
@Configuration
@ComponentScan
public class TestConfig{
}
二暇屋、 Java代碼裝配
@Configuration: 表明這個(gè)類為配置類
@Bean: 注冊為spring上下文中的bean,默認(rèn)bean的名稱與方法一致
設(shè)置bean名稱:@Bean(name="abcd")
實(shí)例:
package test;
@Configuration
public class TestConfig{
@Bean
public A a(){
return new A();
}
}
三撞牢、XML裝配
聲明一個(gè)bean:
<bean id="abc" class="soundsystem.page">
<constructor-arg ref="" />
<constructor-arg value="" />
</bean>