码迷,mamicode.com
首页 > 其他好文 > 详细

2.3@Bean的value和name属性

时间:2020-10-07 20:51:51      阅读:28      评论:0      收藏:0      [点我收藏+]

标签:通过   bilibili   www   程序   efault   获取   art   查看   方式   

戴着假发的程序员出品  抖音ID:戴着假发的程序员 欢迎关注

[查看视频教程]

源码:

1 @org.springframework.core.annotation.AliasFor("name")
2 java.lang.String[] value() default {};
3 
4 @org.springframework.core.annotation.AliasFor("value")
5 java.lang.String[] name() default {};

@Bean中的name和value属性 和 配置文件中的bean标签的name属性有同样的功能。

@Bean配置的类的默认id是方法的名称,但是我们可以通过value或者name给这个bean取别名。

注意:value和name属性不能并存。 而且如果配置了value或者name,那么我们将无法在通过方法名称获取这个bean了。

例如:

 1 //配置ArticleService对象
 2 @Bean(value="aservice")
 3 //@Bean(name="aservice")
 4 public ArticleService articleService(){
 5     ArticleService articleService = new ArticleService();
 6     //注入对应的属性
 7     articleService.setArticleDAO(articleDAO());
 8     articleService.setAutorDAO(authorDAO());
 9     return articleService;
10 }

我们可以通过下面的方式获取service对象:

通过类型获取:

1 ArticleService bean = ac.getBean(ArticleService.class);

通过方法名称获取:

如果配置了value或者name,那么下面的操作会失效

1 ArticleService bean = (ArticleService) ac.getBean("articleService");

通过别名获取:

value和name配置别名,但是两个属性不能共存,也不能使用特殊符号,也不能同时配置多个别名

1 ArticleService bean = (ArticleService) ac.getBean("aservice");

 

2.3@Bean的value和name属性

标签:通过   bilibili   www   程序   efault   获取   art   查看   方式   

原文地址:https://www.cnblogs.com/jiafa/p/13776311.html

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