@Configuration

简介: `@Configuration` 注解用于标记配置类,相当于 XML 配置文件,可定义 Bean 并被 Spring 容器管理。配合 `@Bean` 注解注册实例,通过注解方式启动容器,自动加载配置类及其中的 Bean。

@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


之后使用注解启动方式,初始化一个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
可以发现组件,以及配置类本身被成功加载。

相关文章
|
1天前
|
SQL 运维 分布式计算
如何做好SQL质量监控
SLS推出用户级SQL质量监控功能,集成于CloudLens for SLS,提供健康分、服务指标、运行明细、SQL Pattern分析及优化建议五大维度,帮助用户全面掌握SQL使用情况,实现精细化管理与性能优化,提升日志分析效率与体验。
|
1天前
|
存储 JSON NoSQL
数据库操作
本教程介绍如何使用MongoDB存储文章评论数据,涵盖数据库与集合的创建、删除,文档的增删改查、条件查询、分页及排序操作,重点讲解实际应用中的语法与注意事项,助力快速掌握MongoDB基本操作。
|
1天前
|
运维 Devops 开发工具
生产环境缺陷管理
针对大型团队Git多分支开发中bug协同难、易遗漏等问题,我们基于go-git打造了通用型工具git-poison,实现分布式、自动化bug追溯与管理。通过“投毒-解毒-银针”机制,精准阻塞带缺陷版本发布,避免因沟通疏漏导致的生产故障。已集成至发布与运维平台,显著降低协作成本,提升发布安全性与效率。
|
1天前
|
Java 测试技术 Linux
生产环境发布管理
本文介绍大型团队如何通过自动化部署平台实现多环境(dev→test→pre→prod)高效发布,涵盖各环境职责、基于Jenkins+K8S的CI/CD流程、分支管理与热更新机制,并结合Skywalking日志链路追踪快速定位问题,提升发布效率与系统稳定性。
|
1天前
|
敏捷开发 Dubbo Java
需求开发人日评估
随着敏捷开发普及,人日评估成关键环节。本文详解开发、自测、联调、测试及发布各阶段工时分配,提供常见需求如增删改查、接口调用等的人日参考,并强调并行需求下的调整策略,助力团队精准估算工期,提升协作效率。(238字)
|
1天前
|
敏捷开发 Java 测试技术
为什么要单元测试
单元测试看似“踩刹车”,实则让开发跑得更快。它提升代码质量、降低维护成本,是高效研发的基石。从谷歌到微软,行业实践证明:充分的单元测试能加速迭代、增强信心,助力软件从“爬行”迈向“奔跑”。
|
1天前
|
Java 数据库 Spring
关键的类
通过自定义`@Log`注解标记需记录日志的方法,结合AOP切面`LogAspect`拦截并解析注解,提取操作信息。利用`AsyncManager`异步执行由`AsyncFactory`创建的日志任务,通过线程池配置实现高效、非阻塞的日志持久化处理,提升系统性能与响应速度。(238字)
|
1天前
|
前端开发 搜索推荐 测试技术
背景图变换
本文介绍如何基于若依(RuoYi)框架定制化项目:更换浏览器标签logo、系统页面logo与标题、登录页名称及背景图,去除官网标识,并调整主题风格。通过替换静态资源、修改配置文件及全局搜索删除冗余链接,实现项目个性化展示,提升品牌辨识度,适用于前端界面定制开发场景。(238字)
|
1天前
|
Linux 网络安全 数据安全/隐私保护
虚拟机
挂载CentOS 7虚拟机镜像,设置NAT网络为192.168.100.0网段,并配置虚拟机使用该模式。启动后通过FinalShell等工具使用IP 192.168.100.168、用户名root、密码1234连接,防火墙已关闭,可直接访问。
|
1天前
|
JSON Java 数据格式
不定参数入参
支持非JSON和JSON两种入参方式:非JSON通过@RequestParam或@RequestBody接收基础类型参数;JSON入参可使用JSONObject接收单个或多个参数,或通过@RequestBody封装对象接收并支持@Valid校验,提升代码规范性与可维护性。(239字)