无标题

简介: `@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


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

相关文章
|
5月前
|
移动开发 前端开发 JavaScript
有哪些技术可以实现H5页面在折叠屏上的适配?
有哪些技术可以实现H5页面在折叠屏上的适配?
385 123
修改浏览器里网页头部小图标傻瓜式教程
修改浏览器里网页头部小图标傻瓜式教程
957 0
修改浏览器里网页头部小图标傻瓜式教程
|
2月前
|
存储 安全 API
【剪映小助手】保存剪映草稿
保存剪映草稿。该接口用于保存当前的草稿状态,确保编辑的内容得到持久化存储。通常在完成一系列编辑操作后调用此接口,以防止编辑内容丢失。
|
JavaScript Shell API
FastAPI是什么?
FastAPI是一个现代、高性能的Python Web框架,专为构建API设计。它利用标准的Python类型提示,支持同步及异步编程,并借助Pydantic实现数据验证。FastAPI以卓越的性能媲美Node.js和Go,代码简洁优雅,能自动生成交互式API文档如Swagger UI和ReDoc,方便测试和调试。其对`async`和`await`的支持使之适用于WebSocket等高并发场景。快速上手仅需安装FastAPI和Uvicorn,编写少量代码即可启动服务并访问自动生成的文档界面。FastAPI不仅易于入门,还支持复杂的功能如依赖注入和后台任务,非常适合追求高性能和快速开发的项目。
970 1
|
机器学习/深度学习 人工智能 算法
【深度学习前沿应用】图像风格迁移
【深度学习前沿应用】图像风格迁移,基于百度飞桨开发,参考于《机器学习实践》所作。
1293 1
【深度学习前沿应用】图像风格迁移
|
Java 索引
Java中的for循环:深度解析
Java中的for循环:深度解析
557 1
|
分布式计算 Oracle 网络协议
阿里云安装oracle教程,云服务器使用心得
Oracle11g在centos7.6上的安装过程,主要参考csdn在文中表明
2217 0
阿里云安装oracle教程,云服务器使用心得
|
存储 算法 搜索推荐
掌握区间合并:解决实际问题的算法策略和应用案例【python LeetCode题目56】
掌握区间合并:解决实际问题的算法策略和应用案例【python LeetCode题目56】
|
算法 数据可视化 定位技术
【用unity实现100个游戏之16】Unity程序化生成随机2D地牢游戏1(附项目源码)
【用unity实现100个游戏之16】Unity程序化生成随机2D地牢游戏1(附项目源码)
514 0
|
Java
Java 反射修改类的常量值、静态变量值、属性值
Java 反射修改类的常量值、静态变量值、属性值
1219 0