@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

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

相关文章
|
10月前
|
移动开发 前端开发 安全
如何使用Foldables.js库?
如何使用Foldables.js库?
594 122
|
5月前
|
Kubernetes 安全 API
kubelet API未授权访问漏洞:成因、危害、排查、整改
本文详解kubelet未授权访问漏洞:成因(匿名认证、端口暴露等)、危害(窃密、控资源、植马、接管集群)、排查(手动/工具检测)及整改(禁用风险参数、限制端口、凭证轮换、配置审核、长效监控),助力企业筑牢K8s安全防线。(239字)
371 5
|
6月前
|
机器学习/深度学习 供应链 监控
淘宝图片搜索API(taobao.item_search_img)
淘宝图片搜索API是阿里基于深度学习的视觉检索服务,支持以图搜同款/相似商品,毫秒级响应、高准确率。提供商品、交易、店铺等结构化数据,适配选品、同款监控、智能上架等场景,合规高效,助力电商数字化升级。(239字)
|
7月前
|
消息中间件 Shell Linux
RabbitMQ部署指南
本文介绍RabbitMQ在CentOS7下基于Docker的单机与集群部署方案,涵盖镜像安装、DelayExchange插件配置、普通模式与镜像模式集群搭建,并详解仲裁队列使用及集群扩容方法,助力实现高可用消息队列服务。
|
7月前
|
关系型数据库 应用服务中间件 Nacos
Nacos配置中心
本章详解Nacos配置中心实战:实现微服务配置统一管理,支持热更新、配置共享与优先级控制,并搭建高可用集群,提升系统稳定性。
|
7月前
|
负载均衡 Java Nacos
Gateway服务网关
网关是微服务的统一入口,实现请求路由、权限控制与限流。基于Spring Cloud Gateway可快速搭建高性能网关,支持断言与过滤器灵活配置,并解决跨域问题,提升系统安全性和可维护性。
|
7月前
|
SQL Java 数据库连接
持久层框架MyBatisPlus
MyBatisPlus是MyBatis的增强框架,简化单表CRUD操作,内置分页、条件构造器、代码生成等功能,支持逻辑删除、枚举处理与JSON字段映射,提升开发效率。
|
7月前
|
SQL 容灾 Nacos
Seata的部署和集成
本文介绍Seata分布式事务框架的部署与微服务集成。首先下载并解压Seata Server,修改配置文件application.yml,并在Nacos中配置seataServer.properties及数据库信息。创建seata数据库并运行SQL脚本初始化事务表。启动TC服务后,注册至Nacos。各微服务引入Seata依赖,配置application.yml连接TC。为实现高可用,搭建多节点TC集群,通过Nacos统一管理事务组映射,实现异地容灾与动态切换。微服务从Nacos读取client.properties,灵活绑定TC集群,提升系统稳定性与可维护性。(238字)
|
6月前
|
缓存 JavaScript 开发者
微信小游戏开发的技术难点
微信小游戏开发在2026年面临五大技术挑战:高性能模式下的内存管控、WASM性能瓶颈、4MB主包极速启动、跨平台渲染一致性及开放数据域通信限制。开发者需在严苛环境下实现流畅体验,考验极致优化能力。#微信小游戏 #游戏外包
如果API调用失败,我应该如何排查问题?
当小红书API调用失败时,可按以下步骤排查:1. 检查请求参数;2. 确认身份验证凭据;3. 控制调用频率;4. 检查网络连接;5. 查看错误码和日志;6. 核实授权范围;7. 联系技术支持;8. 定期更新与测试。这些方法有助于系统地解决问题,确保API调用稳定。