@Bean 注解

@Bean是一个 方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。 


   

 Spring Boot 推荐使用 java 配置完全代替 XML 配置,java 配置是过 @Configration 和 @Bean 注解实现的。

@Configration 注解:声明当前类是一个配置类,相当于 Spring 中的一个 XML 文件。

@Bean 注解:作用在方法上,声明当前方法的返回值是一个 Bean。

示例:

@Configuration

public class MyConfigration {

    @Bean

    public String hello() {

        return "hello boys";

    }

}

获取bean方式:

@Autowired

    String hello;

bean和name属性:
@Bean(name = "string2")

    public String hello() {

        return "hello boys";

    }


@Bean(name = "string3")

    public String hello() {

        return "hello girls";

    }

获取方式:   

@Resource(name = "string2")
    private String hello;

    @Resource(name = "string3")
    private String hello2;

@Autowired和@Resource注解的区别:

先来看一下两者的共同点:

1.@Resource注解和@Autowired注解都可以用作bean的注入.

2.在接口只有一个实现类的时候,两个注解可以互相替换,效果相同.

两者的不同在于:

1.@Resource是java本身就有的,而@Autowired是spring框架的东西。

2.@Resource有两个重要的属性,name和type,如果name属性指定,则按name来查找并注入bean;若name未被指定,type被指定,则按照type来查找注入。@Autowired只会根据type来找bean,若接口有多个实现,则会报错,要结合其他注解来使用。

参考:SpringBoot - @Configuration、@Bean注解的使用详解(配置类的实现) - Sharpest - 博客园 (cnblogs.com)

@Bean 的用法 (6miu.com)

如有侵权,请联系删除。

在下小白一枚,欢迎各位大佬补充、批评和指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
回答: @Bean注解是Java Spring框架中的一个注解,用于在@Configuration类中声明一个方法,该方法将返回一个Spring容器管理的Bean对象。\[1\]相比于其他注册Bean的注解,@Bean注解的灵活性更高。因为它可以用在方法上,而不仅仅是类上,这意味着你可以在方法中使用条件语句或其他逻辑来动态获取Bean对象,使其能够根据环境的变化而变化。\[2\]此外,@Bean注解还可以用来提供Bean的详细描述,通过使用@Description注解来提供Bean的描述信息,使得对Bean的理解更加清晰。\[3\]总之,@Bean注解Spring框架中用于声明和注册Bean的一种灵活且功能强大的注解。 #### 引用[.reference_title] - *1* [基于Java的容器注解@Bean](https://blog.csdn.net/wu631464569/article/details/51952787)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [对@Bean注解的学习理解(大白话解释)](https://blog.csdn.net/lzhNox/article/details/127780114)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [spring @Bean注解的使用](https://blog.csdn.net/weixin_30273763/article/details/97971121)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值