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。
标签:testInteger,String,疑点,Spring,value,Bean,Integer,public 来源: https://www.cnblogs.com/WAYN/p/13276341.html