@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


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

相关文章
|
4月前
|
XML 人工智能 JSON
markdown 为什么AI都用它
Markdown是AI时代的“通用语”:轻量省Token、结构清晰易读易解析、跨平台兼容强,且因训练数据丰富成为大模型默认输出格式。它平衡人类可读性与机器可解析性,让AI响应更规范、高效、低成本。(239字)
|
SQL 关系型数据库 数据库连接
SqlAlchemy 2.0 中文文档(四十五)(2)
SqlAlchemy 2.0 中文文档(四十五)
370 0
|
缓存 NoSQL Redis
【浅谈电商】如何防止重复下单
首先我们要知道什么时候是下单操作。以JD为例: 购物车 -> 结算页面 -> 下单页面 - 购物车:购物车 - 结算页面:此页面可以查看待支付金额,使用的优惠券,填写地址,运费等等。 - 下单页面:此页面可以选择结算方式,并且页面展示付款倒计时,也就是说订单已经创建完成。 在下单页面时,由于用户点击下单按钮多次、或者重试策略导致在订单服务中接收到了`两次同样`的下单请求。
1066 0
【浅谈电商】如何防止重复下单
|
移动开发 小程序 Java
【微信公众号】微信 jsapi 支付大概流程
jsapi 支付可运用于微信小程序和 h5 jsapi 支付不会弹出二维码(这点与 native 支付不同) jsapi 支付运用于移动端 native 支付运用于 PC 端
1187 0
【微信公众号】微信 jsapi 支付大概流程
|
人工智能 物联网 大数据
阿里云证书的有效期是多久?到期后怎么办?
对于IT行业的人来说,阿里云认证是非常有用的一个证书,这是阿里云推出的热菜认证,旨在培养符合目前市场所需要的人才,包括了云计算、大数据、人工智能、物联网等等各个方向。考生可以根据自己的能力、发展方向来选择适合自己的认证。
阿里云证书的有效期是多久?到期后怎么办?
|
Java 程序员 5G
独家下载!Java工程师成神必备宝典
初学Java的你还在烦恼不知道怎么去学,学习什么内容吗?那么多的技术书籍是否已经让你无从下手?别急,来看这一份完整的Java学习路径。
226219 0
独家下载!Java工程师成神必备宝典
|
Kubernetes Shell Linux
将项目发布到 Homebrew 官方仓库
最近将 kubecm 推到了官方 homebrew-core 仓库,分享一下经验。
3004 0
|
域名解析 缓存 网络协议
host文件知识详解
host文件知识详解
|
存储 NoSQL 安全
centos 7安装和使用redis,授权远程连接(★firecat推荐★)(一)
centos 7安装和使用redis,授权远程连接(★firecat推荐★)(一)
859 0
|
Java 网络架构 NoSQL
《Java EE互联网轻量级框架整合开发》| 每日读本书
一书阅尽互联网轻量级框架SSM(Spring+Spring MVC+MyBatis)+Redis的全部奥秘。每日搜罗最具权威专业书籍,更多图书推荐请关注“每日读书”。
5986 0