Spring注解@Bean介绍

2023/02/08 16:29
阅读数 73
  • 注解@Bean使用在方法上面是,会被spring自动作为一个bean进行注入。
  • bean的类型为该方法的返回类型。
  • bean的id为方法名称。
  • 方法参数,会通过spring自动注入。

方法参数的自动注入原理

@Component
public class Test{
	@Bean
	public MyBean mytest(){
		return new MyBean();
	}
	@Bean
	public MyBean mytest2(){
		return new MyBean();
	}

	@Bean
	public MyBeanTest MyBeanTest(@Qualifier(value="mytest") Mybean mytest){
		return MyBeanTest (mytest);
	}
	@Bean
	public MyBeanTest MyBeanTest2(@Qualifier(value="mytest2") Mybean mytest){
		return MyBeanTest (mytest);
	}
}

public Class MyBean{
}

public Class MyBeanTest{
}

从上述例子中可以看出使用@Bean 注解方法时,参数 是通过 @Autowrited 注解方式,进行自动注入的,所以可以适用任何@Autowrited配合适用的任意注解。

扩展:
@Autowite 配套使用的注解

1、@Primary
该注解指定 当存在多个同类型的bean时,具有当前注解的bean会被作为首选

2、@Qualifier
该注解指定 当存在多个同类型的bean时,通过其配置的value值,选择对应ID的Bean

再扩展:
什么时候会出现同类型的bean
1、当两个类实现同一个接口时,若同时将这两个类声明成spring中的bean这时候,两个bean的类型就相同
2、当使用@bean注解方法时,两个方法具有相同的返回类型是,生成的两个bean就是同类型的。

 

 

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部