无标题

简介: `@Configuration` 注解用于标识配置类,相当于 XML 配置文件。配合 `@Bean` 可注册 Bean 实例,通过注解方式启动 IOC 容器,实现组件的自动加载与管理。

@Configuration 标注的类,会被 Spring 的IOC容器认定为配置类。

一个被 @Configuration 标注的类,相当于一个 applicationContext.xml 的配置文件。


例如:声明一个类,并标注 @Configuration 注解:

@Configuration
public class ConfigurationDemo {
    @Bean
    public Date currentDate() {
        return new Date();
    }
}


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


<bean id="currentDate" class="java.util.Date"/>


之后使用注解启动方式,初始化一个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


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

相关文章
|
7月前
|
存储 缓存 Java
自动装配机制
本文深入解析SpringBoot自动装配机制,从@SpringBootApplication注解入手,剖析其组合注解原理。重点讲解@ComponentScan、@SpringBootConfiguration及@EnableAutoConfiguration三大核心注解的源码实现,揭示@AutoConfigurationPackage与AutoConfigurationImportSelector如何通过SpringFactoriesLoader加载配置,实现自动化注册与组件扫描,最终完成自动装配全过程。
 自动装配机制
|
4月前
|
机器学习/深度学习 自然语言处理 搜索推荐
你的模型真的“懂”吗?用 Captum / SHAP 把神经网络扒开给你看
你的模型真的“懂”吗?用 Captum / SHAP 把神经网络扒开给你看
480 4
|
4月前
|
前端开发 JavaScript Java
Web化智慧PACS系统源码 (纯B/S架构)
本套Web PACS源码,纯浏览器秒级调阅CT/MR/DR/超声等多模态影像;内置专业Web Viewer,支持MPR/MIP/VR三维重建、精准测量与RIS全流程管理,助医疗企业零成本打造云PACS及区域影像中心。
|
6月前
|
存储 弹性计算 人工智能
2026年阿里云服务器租用费用明细(轻量服务器、ECS云服务器、GPU云服务器)
2026年阿里云服务器租用费用采用“基础配置+组件叠加”的透明定价模式,无隐藏消费,核心覆盖轻量应用服务器、ECS云服务器、GPU高性能服务器三大品类,费用从38元/年到数万元/年不等。结合最新计费政策、优惠活动及适用场景,本文一次性讲清所有费用细节,帮你精准把控预算,避开省钱陷阱。
763 1
|
7月前
|
Linux 虚拟化 iOS开发
macOS Sonoma 14.8.2 (23J126) Boot ISO 原版可引导映像下载
macOS Sonoma 14.8.2 (23J126) Boot ISO 原版可引导映像下载
524 2
macOS Sonoma 14.8.2 (23J126) Boot ISO 原版可引导映像下载
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
深度ai学术-从全网文献搜索到免费文献AI解析
深度AI学术(scholar.aisciresgo.com)打通科研全流程:全网智能搜索、免费获取文献、AI深度解析与精准翻译,一站式解决“搜不到、下不了、读不完”难题,助力研究者高效创新,开启智能科研新范式。
897 1
|
7月前
|
机器学习/深度学习 自动驾驶 算法
基于深度学习的交通标志识别系统
本研究聚焦基于深度学习的交通标志识别系统,针对传统方法在复杂环境下识别率低的问题,结合YOLOv8模型与Python技术,实现高效、精准的实时检测,提升智能交通系统的安全性和自动化水平。
|
7月前
|
存储 消息中间件 开发框架
应用架构图
技术架构是将业务需求转化为技术实现的关键过程,涵盖分层设计、技术选型与系统集成。本文详解单体与分布式架构,包括展现层、业务层、数据层及基础层的职责,以及应用间调用关系、外部系统交互与边界划分,为构建清晰的技术体系提供指导。
 应用架构图
|
7月前
|
存储 机器学习/深度学习 人工智能
向量数据库的工作原理
向量数据库通过将非结构化数据转化为高维向量嵌入,利用HNSW、IVF-PQ等索引技术实现高效相似性搜索。其采用列式存储、量化压缩与分布式架构,优化高维向量的存储与检索,支持AI场景下的大规模近似最近邻查询,显著提升搜索效率与可扩展性。
|
7月前
|
自然语言处理 关系型数据库 MySQL
MySQL 全文索引
MySQL全文索引支持对CHAR、VARCHAR、TEXT字段进行高效文本搜索,适用于文章、评论等长文本。通过MATCH()与AGAINST()实现自然语言或布尔模式查询,支持分词、停用词过滤和最小词长设置。可创建于建表时或后期添加,适用于搜索引擎、CMS、电商等场景,提升关键词检索效率,但需权衡增删改开销与索引维护成本。(238字)