Spring 注解@Bean参数疑点

2021-04-22 15:30

阅读:713

标签: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


评论


亲,登录后才可以留言!