SpringBoot@Configuration

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

@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
可以发现组件,以及配置类本身被成功加载。

相关文章
|
Java Linux 数据库
|
XML Java 数据库连接
Spring中的事务是如何实现的
Spring中的事务管理机制通过一系列强大的功能和灵活的配置选项,为开发者提供了高效且可靠的事务处理手段。无论是通过注解还是AOP配置,Spring都能轻松实现复杂的事务管理需求。掌握这些工具和最佳实践,能
628 3
|
Java 开发者 Spring
Springboot中ApplicationContextInitializer的使用及源码分析
`ApplicationContextInitializer` 是 Spring Boot 提供的一个强大的接口,它允许开发者有机会在应用上下文刷新之前,注入自定义的启动逻辑或预处理。通过合理地利用这个接口,可以提升应用的可配置性和灵活性。了解如何运用 `ApplicationContextInitializer` 可以让你在 Spring Boot 应用的早期启动阶段,有更多控制权。
486 4
|
Linux C语言 Python
perf_event_open 学习 —— 通过read的方式读取硬件技术器
perf_event_open 学习 —— 通过read的方式读取硬件技术器
|
Java 测试技术
深入理解Logback异步日志配置及性能优化
深入理解Logback异步日志配置及性能优化
980 2
|
存储 网络协议 算法
SpringCloud 注册中心之Consul
Consul 用于实现分布式系统的服务发现与配置,内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案,不再需要依赖其它工具。
1069 0
|
存储 Java API
Spring Boot中的数据脱敏处理
Spring Boot中的数据脱敏处理
|
Java Spring
AutoConfigureBefore不生效
AutoConfigureBefore不生效
588 0
|
开发框架 JavaScript 小程序
vue , 微信小程序 , uni-app绑定变量属性
vue , 微信小程序 , uni-app绑定变量属性
641 1
|
芯片 异构计算