SpringBoot @Configuration

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

@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


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

相关文章
|
XML Java 数据库
【Spring】SpringBoot 配置文件
【Spring】SpringBoot 配置文件
|
存储 安全 Java
SpringBoot搭建Spring Security 入门
SpringBoot搭建Spring Security 入门
565 0
|
2月前
|
Java API 数据库
Spring Boot 中的项目属性配置
本课讲解Spring Boot外部化配置,通过`application.yml`管理数据库、API地址等动态参数,避免硬编码。掌握`@Value`读取配置、多环境Profile切换,并了解敏感信息加密与配置中心实践,提升系统灵活性与安全性。(238字)
|
2月前
|
Java 测试技术 数据库
Spring Boot中的项目属性配置
本文介绍Spring Boot中配置管理的常用方法:通过`@Value`读取单个配置,使用`@ConfigurationProperties`封装多个配置项,并实现开发与生产环境配置文件(如application-dev.yml和application-pro.yml)的灵活切换,提升项目可维护性。
|
XML JSON 前端开发
前端网络请求真的搞懂了吗?解密前端参数传递方式,让开发更从容(二)
前端网络请求真的搞懂了吗?解密前端参数传递方式,让开发更从容
|
存储 安全 Java
Spring Boot读取配置文件
Spring Boot读取配置文件
|
缓存 前端开发 JavaScript
Spring Boot中如何处理静态资源
Spring Boot中如何处理静态资源
|
消息中间件 运维 Java
【揭秘RabbitMQ背后的秘密!】如何确保消息正确发送及消费?深入剖析与实战指南!
【8月更文挑战第24天】本文通过一个电商平台订单确认消息的案例,深入探讨了如何确保消息准确无误地发送到 RabbitMQ 以及如何保证消息被正确处理。为确保消息成功发送,文中介绍了使用发布确认、设置重试机制及事务处理等策略;并通过 Java 代码示例展示了如何实施这些策略。此外,还讨论了确保消息正确消费的方法,包括使用确认机制、设置超时及异常处理等,并提供了相应的 Java 示例代码。这些技术和策略有助于提升系统的稳定性和可靠性,对日常运维和性能优化具有重要意义。
259 1
|
Java
SpringBoot java 一个接口,多个实现,客户定制化
SpringBoot java 一个接口,多个实现,客户定制化
243 0
|
SQL 算法 Java
MyBatis-Plus详解(3)
MyBatis-Plus详解(3)
300 0