无标题

简介: `@Configuration` 注解用于标记配置类,相当于 XML 配置文件。其中 `@Bean` 注解的方法可定义托管给 Spring IoC 容器的 Bean。通过注解方式启动容器后,配置类及其中注册的组件均会被成功加载并管理。

@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


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

相关文章
修改浏览器里网页头部小图标傻瓜式教程
修改浏览器里网页头部小图标傻瓜式教程
1026 0
修改浏览器里网页头部小图标傻瓜式教程
|
8月前
|
移动开发 前端开发 JavaScript
有哪些技术可以实现H5页面在折叠屏上的适配?
有哪些技术可以实现H5页面在折叠屏上的适配?
462 123
|
5月前
|
缓存 监控 调度
阿里云 CDN 计费体系全解析:基础服务、增值服务与选型指南
在内容分发网络(CDN)领域,阿里云凭借全球节点覆盖与灵活的计费模式,成为个人开发者与企业用户的重要选择。其 CDN 服务计费分为基础服务与增值服务两部分,基础服务提供按流量计费、按带宽峰值计费、月结 95 带宽峰值计费三种核心模式,增值服务则根据功能使用情况单独计费。本文基于 今年最新官方文档与实测数据,从计费规则、价格详情、场景适配、成本优化等维度展开解析,为用户提供客观选型参考。
|
5月前
|
缓存 安全 前端开发
Thymeleaf:让前后端协作更顺畅的现代模板引擎
Thymeleaf 是 Spring Boot 推荐的模板引擎,支持“自然模板”,HTML 既可静态预览,又能动态渲染。前后端分离开发更高效,语法简洁,集成简单,是服务端渲染的理想选择。
|
5月前
|
存储 安全 API
【剪映小助手】保存剪映草稿
保存剪映草稿。该接口用于保存当前的草稿状态,确保编辑的内容得到持久化存储。通常在完成一系列编辑操作后调用此接口,以防止编辑内容丢失。
|
机器学习/深度学习 人工智能 算法
【深度学习前沿应用】图像风格迁移
【深度学习前沿应用】图像风格迁移,基于百度飞桨开发,参考于《机器学习实践》所作。
1373 1
【深度学习前沿应用】图像风格迁移
|
分布式计算 Oracle 网络协议
阿里云安装oracle教程,云服务器使用心得
Oracle11g在centos7.6上的安装过程,主要参考csdn在文中表明
2274 0
阿里云安装oracle教程,云服务器使用心得
|
JavaScript Shell API
FastAPI是什么?
FastAPI是一个现代、高性能的Python Web框架,专为构建API设计。它利用标准的Python类型提示,支持同步及异步编程,并借助Pydantic实现数据验证。FastAPI以卓越的性能媲美Node.js和Go,代码简洁优雅,能自动生成交互式API文档如Swagger UI和ReDoc,方便测试和调试。其对`async`和`await`的支持使之适用于WebSocket等高并发场景。快速上手仅需安装FastAPI和Uvicorn,编写少量代码即可启动服务并访问自动生成的文档界面。FastAPI不仅易于入门,还支持复杂的功能如依赖注入和后台任务,非常适合追求高性能和快速开发的项目。
1152 1
|
Java 索引
Java中的for循环:深度解析
Java中的for循环:深度解析
659 1
|
Java
Java 反射修改类的常量值、静态变量值、属性值
Java 反射修改类的常量值、静态变量值、属性值
1263 0