Springboot@Configuration和@Bean详解

一、@Configuration

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Configuration {@AliasFor(annotation = Component.class)String value() default "";
}

可以看到在@Configuration注解中是包含@Component注解的,被@Configuration修饰的类被定义为一个Spring容器(应用上下文)

@Configuration就相当于Spring配置文件中的<beans />标签,里面可以配置bean

二、@Bean

@Bean相当于Spring配置文件中的<bean />标签可以在Spring容器中注入一个bean

@Configuration
public class TestConfiguration {@Beanpublic TestBean testBean() {return new TestBean();}}

上述代码相当于实例化一个TestBean并交给Spring容器管理

ps:

1、@Bean注解在返回实例的方法上,如果未通过@Bean指定bean的名称,则默认与方法名相同

2、@Bean注解默认作用域为单例singleton作用域,可通过@Scope(“prototype”)设置为多例

三、依赖注入

@Configuration
public class TestConfiguration {@Beanpublic TestBean testBean() {return new TestBean();}@Beanpublic DIBean diBean() {return new DIBean(testBean());}  }

如上述代码,通过在@Bean方法中调用其他@Bean注解的方法来实现依赖注入

ps:

当需要强制指定实例化bean的顺序,可以通过@Order或@DependsOn注解来实现

转载于:https://www.cnblogs.com/javafucker/p/10148464.html

Springboot@Configuration和@Bean详解相关推荐

  1. SpringBoot (6)---RestTemplate方法详解(2)

    SpringBoot (6)---RestTemplate方法详解(2) 说明 上一篇SpringBoot 2.1 | 第三篇:RestTemplate请求HTTP(1)简单运用了RestTempla ...

  2. Springboot多数据源配置详解

    Springboot多数据源配置详解 概念 配置 多数据源使用 概念 一般来说,我们正常的业务只涉及一个数据源,在特定的业务场景中需要使用多个数据源的情况,就需要配置多个数据源来满足特定的业务需求.本 ...

  3. Springboot整合redis配置详解

    Springboot整合redis配置详解 1.导入依赖 <dependency><groupId>org.springframework.boot</groupId&g ...

  4. SpringBoot定时任务@Scheduled注解详解

    SpringBoot定时任务@Scheduled注解详解 项目开发中,经常会遇到定时任务的场景,Spring提供了@Scheduled注解,方便进行定时任务的开发 概述 要使用@Scheduled注解 ...

  5. SpringBoot注解最全详解(整合超详细版本)

    今日推荐强制双休!腾讯调整加班机制,21 点前必须离开工位 使用雪花id或uuid作为Mysql主键,被老板怼了一顿! 盘点 12 个 GitHub 上的高仿项目 CTO 说了,用错 @Autowir ...

  6. Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! "看看星空,会觉得自己很渺小,可能我们在宇宙中从来就是一个偶然.所以,无论什么事情,仔 ...

  7. Spring高级之注解@Bean详解(超详细)

    定义/作用 当我们要使用第三方类实现组件注册到IOC容器时,例如第三方数据库连接池等,我们无法修改他们的代码,所以我们不能通过@Component及其衍生注解来进行组件定义.这是,可以通过@Bean注 ...

  8. SpringBoot - @EnableConfigurationProperties注解使用详解

    @EnableConfigurationProperties注解的作用是什么? 将标注了@ConfigurationProperties注解的类注入到Spring容器中.该注解是用来开启对@Confi ...

  9. es springboot 不设置id_es(elasticsearch)整合SpringCloud(SpringBoot)搭建教程详解

    注意:适用于springboot或者springcloud框架 1.首先下载相关文件 2.然后需要去启动相关的启动文件 3.导入相关jar包(如果有相关的依赖包不需要导入)以及配置配置文件,并且写一个 ...

最新文章

  1. kmp求前缀和后缀的最大重复部分
  2. 俄媒:人工智能可利用面部识别判断信仰倾向
  3. 携程Apollo(阿波罗)配置中心本地开发模式不接入配置中心进行本地开发
  4. redis cluster 添加 删除 重分配 节点
  5. 【Groovy】编译时元编程 ( 利用注解进行 AST 语法树转换 | 定义注解并使用 GroovyASTTransformationClass 注明 AST 转换接口 | AST 转换接口实现 )
  6. Database之SQLSever:SQL命令实现的高级案例集合之单表/多表(筛选、统计个数)之详细攻略
  7. Python实现kNN算法
  8. 编写简单的UDP应用
  9. Springboot实现文件上传,并防止同文件重复上传
  10. 几个非常有用的iOS学习博客链接
  11. angular—— Dynamic Templates
  12. docker 容器启动后立马退出的解决方法
  13. 魔兽争霸lostTemple地图
  14. P3390 【模板】矩阵快速幂
  15. python-QQ群扫码登录(QQ群验证)
  16. 【光电智造】机器人视觉伺服技术
  17. mac上安装R和RStudio
  18. 科学计算库学习笔记(持续更新)
  19. mysql ley_len计算
  20. 李国庆在直播间说了多少大实话

热门文章

  1. 团队-科学计算器-成员简介及分工
  2. 数据中心机房夏日降温措施
  3. zabbix监控实践解析(历史记录附近乱码、图表显示乱码)
  4. Interface继承至System.Object?
  5. 架构师速成6.6-知识的收集整理学习
  6. 如何激励用户为你的app评分?
  7. 深入理解printf 之一 问题引出
  8. JDFlipNumberView
  9. 解决oracle ORA-01078,LRM-00109故障一例!
  10. 读-福瑞哈哥-的POE学习笔记