Spring 注解@Bean参数疑点
Posted wayn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring 注解@Bean参数疑点相关的知识,希望对你有一定的参考价值。
经常会看到通过@Bean注解来产生一个Java bean放进Spring的IOC容器,可是有的方法里带有参数,那么这些参数从何而来?
答案是,他们会自动从容器中查找该类型的bean,如果没有将会报错。
我写着这样一个简单的测试类
@Configuration
public class SampleBean {
private String value;
public SampleBean() {
}
public SampleBean(String value) {
this.value = value;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
@Bean("testInteger")
public Integer testBean(BeanParamClass test) {
return new Integer(0);
}
}
@Component public class BeanParamClass { }
@Test public void testBean() { Integer t = (Integer)ctx.getBean("testInteger"); System.out.println("value="+t); }
运行结果:
再尝试不生成@Bean的参数BeanParamClass ,即将@@Component注释。
结果:
可以看到,程序启动时会抛出UNsatisfiedDependencyException,也就是无法找到@Bean("testInteger")的依赖bean。
以上是关于Spring 注解@Bean参数疑点的主要内容,如果未能解决你的问题,请参考以下文章