码迷,mamicode.com
首页 > 编程语言 > 详细

Spring 注解@Bean参数疑点

时间:2020-07-09 22:16:19      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:param   查找   简单的   自动   nbsp   div   pen   exception   get   

经常会看到通过@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参数疑点

标签:param   查找   简单的   自动   nbsp   div   pen   exception   get   

原文地址:https://www.cnblogs.com/WAYN/p/13276341.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!