spring装配bean-通过Java代码装配bean

1 创建配置类

package soundsystem;
import org.springframework.context.annotation.Configuration;

@Configuration
public class CDPlayerConfig(){
}

2 声明简单的bean

@Bean
public CompactDisc sgtPeppers(){
	return new SgtPeppers();
}

@Bean注解会告诉Spring这个方法将会返回一个对象,该对象要注册为Spring应用上下文中的bean。默认情况下,bean的ID与带有@Bean注解的方法名是一样的。在本例中,bean的名字将会是sgtPeppers。如果你想为其设置成一个不同的 名字的话,那么可以重命名该方法,也可以通过name属性指定一个不同的名字:

@Bean(name="lonelyHeartsClubBand")
public CompactDisc sgtPeppers(){
	return new SgtPeppers();
}

3 借助JavaConfig实现注入
声明CDPlayerbean,它依赖 于CompactDisc

@Bean
public CDPlayer cdPlayer(){
	return new CDPlayer(sgtPeppers())
}

也可以装配多个

@Bean
public CDPlayer cdPlayer(){
	return new CDPlayer(sgtPeppers())
}
@Bean
public CDPlayer anotherCDPlayer(){
	return new CDPlayer(sgtPeppers())
}

默认情况下,Spring中的bean都是单例 的,我们并没有必要为第二个CDPlayer bean创建完全相同的SgtPeppers实例。所以,Spring会拦截对sgtPeppers()的调用并确保返回 的是Spring所创建的bean,也就是Spring本身在调用sgtPeppers()时所创建的CompactDiscbean。因此,两个CDPlayer bean会得到相 同的SgtPeppers实例。
另一种写法:

@Bean
public CDPlayer cdPlayer(CompactDisc compactDisc){
	CDPlayer cdPlayer = new CDPlayer(compactDisc);
	cdPlayer.setCompactDisc(compcatDisc);
	return cdPlayerl;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值