@Configuration

简介: 被 `@Configuration` 标注的类视为Spring配置类,等同于XML配置文件。通过 `@Bean` 可定义Bean,替代XML中的 `<bean>` 标签。结合 `AnnotationConfigApplicationContext` 可启动IOC容器,加载并管理配置类及其中的Bean实例。

被 @Configuration 标注的类,会被 Spring 的IOC容器认定为配置类。
一个被 @Configuration 标注的类,相当于一个 applicationContext.xml 的配置文件。
例如:声明一个类,并标注 @Configuration 注解:
Java
运行代码
复制代码
1
2
3
4
5
6
7
@Configuration
public class ConfigurationDemo {
@Bean
public Date currentDate() {
return new Date();
}
}
上述注册Bean的方式类比于xml:
XML
复制代码
1


之后使用注解启动方式,初始化一个IOC容器,并打印IOC容器中的所有bean的name:
Java
运行代码
复制代码
1
2
3
4
5
6
7
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);
}
}
输出结果:
Java
运行代码
复制代码
1
2
3
4
5
6
7
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
可以发现组件,以及配置类本身被成功加载。

相关文章
|
监控 安全 Cloud Native
容器安全的风险应对及 Twislock 容器安全方案| 学习笔记
快速学习容器安全的风险应对及 Twislock 容器安全方案。
容器安全的风险应对及 Twislock 容器安全方案| 学习笔记
|
4月前
|
消息中间件 NoSQL Redis
高可靠微服务消息设计:Outbox模式、延迟队列与Watermill集成实践
构建高可靠微服务,事件丢失和延迟任务一直是难题?本文带你从实战角度掌握 Outbox模式、延迟队列 及 Watermill+Redis Stream 集成方案,教你用Go打造可靠、可观测、毫秒级响应的事件驱动系统。
373 2
|
2月前
|
缓存 Java 关系型数据库
90% Java 开发都踩过坑的 @Resource 与 @Autowired
本文深度解析Spring中`@Resource`与`@Autowired`的核心差异:前者属Java官方JSR-250规范(JDK8为`javax.annotation.Resource`,JDK11+为`jakarta.annotation.Resource`),默认按名注入、兼容多容器;后者为Spring原生注解,默认按类型注入、强耦合Spring生态。详述两者在注入逻辑、查找顺序、容错机制、构造器支持及源码执行优先级等维度的全量对比,并梳理高频踩坑场景与选型建议。
418 1
|
机器学习/深度学习 人工智能 监控
什么是信息化?什么是数字化?这两者有什么联系和区别?
本文探讨了信息化与数字化的概念、联系及区别。信息化是将线下业务流程线上化,提升效率;数字化则基于大数据和新技术优化企业运营模式,重构商业逻辑。两者层层递进,信息化为基础,数字化为升级。文中通过实例对比二者在理念、方法、数据应用等方面差异,并强调数字化转型需明确目标,借助低代码等工具实现能力重构,推动企业全价值链连通与效率提升。总结指出,真正的转型是能力的全面提升,而非单纯技术替换。
|
5月前
|
数据采集 弹性计算 API
阿里云最便宜服务器38元1年轻量和99元ECS云服务器,3M和200M带宽的区别对比
阿里云38元轻量与99元ECS云服务器对比:前者200Mbps峰值带宽、开箱即用,适合博客/官网等展示场景;后者3Mbps固定带宽但CPU更强、弹性可升级,适配API/数据库等后台服务。选对不踩坑!
421 4
|
7月前
|
存储 弹性计算 Linux
阿里云服务器购买流程及配置选择指南【新手友好手册】
阿里云服务器购买流程及配置选择指南【新手友好手册】阿里云服务器主要分为轻量应用服务器与云服务器 ECS 两类,选择时需结合实际应用场景,从实例类型、CPU 内存、公网带宽、存储配置四个核心维度展开,确保资源匹配需求且成本合理。购买阿里云服务器时,特价机型可通过官方活动页面直接选购,企业级高性能服务器或有特殊配置需求的场景,需通过云服务器 ECS 官方页面自定义购买,以下以云服务器 ECS 自定义购买为例,详细介绍流程步骤。
|
7月前
|
存储 弹性计算 Linux
阿里云服务器新手购买及操作指南(图文教程)
阿里云服务器新手购买及操作指南(图文教程)对于新手而言,选购阿里云服务器需结合使用场景、成本预算和配置需求综合判断,核心需关注购买方式、配置参数两大维度,以下为具体参考:
|
7月前
|
运维 Java Nacos
Nacos配置中心
本章基于Nacos实现配置中心,解决微服务架构中配置管理难题。通过引入nacos-config依赖与bootstrap.yaml文件,实现应用启动时优先加载远程配置,动态获取userservice-dev.yaml等环境配置,支持热更新、集中化管理,提升系统可用性与运维效率。
|
7月前
|
Dubbo Java 应用服务中间件
Feign远程调用
本章介绍Feign如何优雅替代RestTemplate实现HTTP跨服务调用。通过引入Feign,结合注解声明远程接口,避免服务地址硬编码,提升代码可读性与维护性,并支持自定义日志、编码等配置,实现高效、简洁的微服务通信方案。
|
JavaScript
VUE中el-input阻止冒泡防止触发父级事件
VUE中el-input阻止冒泡防止触发父级事件
781 130

热门文章

最新文章