无标题

简介: 被@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

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

相关文章
|
4月前
|
数据采集 安全 数据挖掘
Python新手避坑指南:KeyError的“前世今生”与破解之道
本文以小明处理Excel数据时遭遇的KeyError为引子,深入解析这一Python常见异常的成因(如列名空格、大小写不一致、嵌套键缺失等),并系统介绍五大实用解决方案:get()安全访问、in键存在检查、try-except捕获、defaultdict自动初始化及数据清洗技巧,助新手高效避坑、提升代码健壮性。(239字)
660 3
|
缓存 网络协议 API
掌握网络通信协议和技术:开发者指南
本文探讨了常见的网络通信协议和技术,如HTTP、SSE、GraphQL、TCP、WebSocket和Socket.IO,分析了它们的功能、优劣势及适用场景。开发者需根据应用需求选择合适的协议,以构建高效、可扩展的应用程序。同时,测试与调试工具(如Apipost)能助力开发者在不同网络环境下优化性能,提升用户体验。掌握这些协议是现代软件开发者的必备技能,对项目成功至关重要。
|
机器学习/深度学习 人工智能 自然语言处理
DeepSeek逆天,核心是 知识蒸馏(Knowledge Distillation, KD),一项 AI 领域的关键技术
尼恩架构团队推出《LLM大模型学习圣经》系列,涵盖从Python开发环境搭建到精通Transformer、LangChain、RAG架构等核心技术,帮助读者掌握大模型应用开发。该系列由资深架构师尼恩指导,曾助力多位学员获得一线互联网企业的高薪offer,如网易的年薪80W大模型架构师职位。配套视频将于2025年5月前发布,助你成为多栖超级架构师。此外,尼恩还提供了NIO、Docker、K8S等多个技术领域的学习圣经PDF,欢迎领取完整版资源。
|
存储 编解码 人工智能
自媒体影视后期数字助理2--SDR与HDR中间件设计
阿里云提供的线上AI能力在处理视觉信息方面已经有较为成熟和通用的产品,对于开始兴建媒体资源管理平台的自媒体来说,采用阿里云的AI能力、函数计算以及OSS等产品进行平台搭建可以快速实现建设与能力扩充。本文为SDR与HDR中间件的开发思路、技术架构设计和开发实战中参数的设置介绍,对一些数字影像的基础概念和阿里云视觉人工智能的API细节进行了分析。
1131 109
自媒体影视后期数字助理2--SDR与HDR中间件设计
|
缓存 Linux 调度
[kvm]硬盘IO优化
[kvm]硬盘IO优化
467 2
|
云计算 开发者 Docker
揭秘云计算中的容器化技术——Docker的深度解析
【10月更文挑战第6天】揭秘云计算中的容器化技术——Docker的深度解析
|
缓存 监控 前端开发
前端性能监控:从Lighthouse到Real User Monitoring
**前端性能监控关乎用户体验。Lighthouse是自动化审计工具,评估网页性能、最佳实践、可访问性等,通过CLI或Chrome DevTools使用。RUM则实时监控用户与网站互动,收集性能数据。两者结合,从开发到生产环境,全面优化前端性能,包括资源加载、代码优化、网络性能和用户体验。使用Lighthouse和RUM数据,结合CI/CD,持续改进并设定性能预算,采用SSR、Service Worker、Code Splitting等高级策略,确保高性能和用户满意度。**
658 2
|
Android开发
Android绘制竖直虚线完美解决方案—自定义View
开发中我们经常会遇到绘制虚线的需求,一般我们使用一个drawable文件即可实现,下面我会先列举常规drawable文件的实现方式。
|
存储 NoSQL 数据库
软件工程导论—可行性研究(上)
软件工程导论—可行性研究(上)
软件工程导论—可行性研究(上)
|
机器学习/深度学习 自然语言处理 机器人
使用Pytorch和BERT进行多标签文本分类(上)
使用Pytorch和BERT进行多标签文本分类
1541 0
使用Pytorch和BERT进行多标签文本分类(上)

热门文章

最新文章