SpringBoot

简介: `@Configuration` 注解用于标记配置类,相当于 Spring 的 XML 配置文件。被标注的类会被 Spring IOC 容器识别,其中通过 `@Bean` 注解的方法可定义托管 Bean,实现组件注册与依赖管理,支持基于 Java 的配置方式。

@Configuration

被 @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

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


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


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

目录
相关文章
|
2月前
|
Cloud Native Ubuntu Linux
云原生
Docker是一个基于Go语言的开源容器化平台,实现“一次镜像,处处运行”。它通过容器技术将应用及其依赖打包,实现高效、轻量的部署与隔离,相比传统虚拟机启动更快、资源占用更少。
161 1
云原生
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
AI大模型分词器详解
分词器是将文本转为模型可处理数字序列的关键组件。本文详解BPE、WordPiece、SentencePiece三大主流算法原理与优劣,对比其在多语言支持、分词粒度等方面的差异,并提供中英文实战代码示例,助你掌握词汇表构建流程、特殊标记处理及常见面试问题应对策略。
209 1
|
2月前
|
机器学习/深度学习 人工智能
AI大模型位置编码详解
位置编码为Transformer提供序列顺序信息,弥补注意力机制无位置感知的缺陷。主要分为绝对编码(如可学习、Sinusoidal)和相对编码(如RoPE、ALiBi)。RoPE通过旋转矩阵支持长序列,ALiBi以线性偏置增强外推能力。不同方法在长度外推、效率等方面各有优劣,广泛应用于LLaMA、BLOOM等大模型中。
173 0
AI大模型位置编码详解
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
AI大模型Transformer基础结构
Transformer是2017年提出的基于注意力机制的神经网络,摒弃了传统RNN结构,采用自注意力与多头注意力机制,实现并行化处理和长距离依赖建模。其核心由编码器-解码器架构、位置编码、残差连接和层归一化组成,广泛应用于NLP任务,成为BERT、GPT等模型的基础。
227 0
|
2月前
|
人工智能 数据可视化 搜索推荐
构建AI智能体:七十四、探索AI新纪元:扣子平台让想法到智能应用的极简之旅
摘要:扣子平台通过低代码可视化方式大幅降低AI应用开发门槛,让用户无需编码即可创建个性化智能体。本文以构建&quot;新闻问答助手&quot;为例,演示了从创建智能体、配置新闻搜索插件到优化提示词的全过程。平台提供工作流、插件库和知识库三大核心功能,支持15分钟内完成基础型AI助手开发并发布至豆包等平台。该方案既适合技术新手快速上手,也能满足专业人士构建复杂自动化任务的需求,标志着AI开发进入高效便捷的新阶段。
526 4
|
2月前
|
自然语言处理
模型架构篇🏗️ 主流大模型结构
本文系统梳理主流大模型架构:Encoder-Decoder、Decoder-Only、Encoder-Only及Prefix-Decoder,解析GPT、LLaMA、BERT等代表模型特点与应用,并对比参数、上下文长度与优势场景,涵盖中英文大模型发展及面试核心要点。
232 0
|
10月前
|
BI
有没有签到软件推荐?资深行政使用体验分享!
作为一名行政人事,日常需处理考勤、会议签到与访客登记等事务。为提升效率,我尝试了几款签到软件:企业微信适合内部考勤但灵活性不足;草料二维码签到简单高效,适用于会议、培训等多场景;活动行则更适合大型外部活动。根据需求选择合适工具,可让签到管理更轻松顺畅。
|
前端开发 Java 数据格式
SpringMVC详解
SpringMVC详解
238 0
|
域名解析 网络协议 Linux
|
存储 NoSQL 文件存储
TFS分布式文件系统应用
TFS是淘宝开源的一套高性能文件存储系统,在阿里广泛应用,除了自建文件系统,在应用上云的大趋势下,还可以使用阿里云的对象存储OSS服务。
10319 0
TFS分布式文件系统应用