@Configuration

简介: 被@Configuration标注的类视为Spring配置类,相当于XML配置文件。通过@Bean注册Bean,配合AnnotationConfigApplicationContext可启动IOC容器,加载配置类及其中的Bean组件。

被 @Configuration 标注的类,会被 Spring 的IOC容器认定为配置类。
一个被 @Configuration 标注的类,相当于一个 applicationContext.xml 的配置文件。

例如:声明一个类,并标注 @Configuration 注解:
@Configuration
public class ConfigurationDemo {
@Bean
public Date currentDate() {
return new Date();
}
}

上述注册Bean的方式类比于xml:

之后使用注解启动方式,初始化一个IOC容器,并打印IOC容器中的所有bean的name:

public class MainApp {
public static void main(String[] args) throws Exception {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(ConfigurationDemo.class);
String[] beanDefinitionNames = ctx.getBeanDefinitionNames();
Stream.of(beanDefinitionNames).forEach(System.out::println);
}
}

输出结果:
org.springframework.context.annotation.internalConfigurationAnnotationProcessor
org.springframework.context.annotation.internalAutowiredAnnotationProcessor
org.springframework.context.annotation.internalCommonAnnotationProcessor
org.springframework.context.event.internalEventListenerProcessor
org.springframework.context.event.internalEventListenerFactory
configurationDemo
currentDate

可以发现组件,以及配置类本身被成功加载。

相关文章
|
3月前
|
SQL 关系型数据库 MySQL
【第一阶段总结】MySQL基础20天 —— 知识地图与避坑复盘
本文是MySQL基础20天学习的系统复盘,涵盖架构、索引、SQL优化、事务、锁五大模块,提炼核心知识地图与高频避坑点(如无索引导致全表锁、RR下快照读与当前读差异等),并附面试考点与自测清单,助力夯实底层原理,平稳进阶。(239字)
255 1
|
5月前
|
人工智能 芯片
万相2.7,模型使用指南
万相2.7,拥有全面的创作控制力,将AI的能力从单一素材生成扩至创作全链路,从“演”迈向“导” 。
万相2.7,模型使用指南
|
6月前
|
数据采集 JSON API
从踩坑到高效落地:关键词搜索京东商品列表API的实操心得
本指南聚焦京东商品列表API实操,详解jd.item_search接口调用要点:涵盖必填参数(app_key、timestamp、sign等)、关键词/分页/价格筛选配置及核心响应字段(SKU、标题、售价、销量等),助开发者快速对接,高效获取合规商品数据。(239字)
492 22
|
5月前
|
存储 安全 大数据
信息系统与新一代信息技术知识体系
本知识体系系统梳理信息化内涵、信息系统全生命周期及五层逻辑结构,涵盖诺兰模型、OSI/TCP/IP网络基础、数据库与大数据技术、云边端协同架构,并深入解析物联网、区块链、AI、数字孪生等新一代信息技术及其在新基建中的融合应用。(239字)
451 0
|
8月前
|
Linux iOS开发 计算机视觉
GIMP 3.0.8 发布 - 免费开源图像编辑器
GIMP 3.0.8 (Linux, macOS, Windows) - 免费开源图像编辑器
476 1
|
8月前
|
弹性计算 运维 搜索推荐
阿里云客服体系解读,售前、售后全方位服务方式介绍,高效响应
本文详细解析了阿里云客服的服务体系、优势与特色以及如何通过多种渠道为客户提供全方位的支持。帮助大家更全面地了解阿里云客服并更好地利用阿里云的服务资源。同时,阿里云客服也将不断优化服务流程和提升服务质量,为客户提供更加优质、高效的服务体验。
|
9月前
|
消息中间件 Shell Linux
RabbitMQ部署指南
本文介绍RabbitMQ在CentOS7下基于Docker的单机与集群部署方案,涵盖镜像安装、DelayExchange插件配置、普通模式与镜像模式集群搭建,并详解仲裁队列使用及集群扩容方法,助力实现高可用消息队列服务。
|
9月前
|
关系型数据库 应用服务中间件 Nacos
Nacos配置中心
本章详解Nacos配置中心实战:实现微服务配置统一管理,支持热更新、配置共享与优先级控制,并搭建高可用集群,提升系统稳定性。
|
9月前
|
SQL Java 数据库连接
持久层框架MyBatisPlus
MyBatisPlus是MyBatis的增强框架,简化单表CRUD操作,内置分页、条件构造器、代码生成等功能,支持逻辑删除、枚举处理与JSON字段映射,提升开发效率。
|
9月前
|
JSON Java 数据格式
SpringBoot使用汇总
本课程系统讲解Spring Boot核心知识,涵盖环境搭建、JSON数据处理、日志记录、属性配置、MVC支持、异常处理等,结合实战案例与源码解析,助力开发者快速掌握微服务开发技能。