@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


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

相关文章
|
14天前
|
小程序 关系型数据库 测试技术
阿里云轻量应用服务器2核2G38元1年,2核4G9.9元1个月、199元1年:性能、适用场景与抢购策略
阿里云轻量应用服务器以“开箱即用、简单高效、性价比高”著称,尤其限时抢购活动更将入门成本大幅降低,备受个人开发者、初创企业和学生的关注。当前热门的两款抢购配置为2核2G 38元/年和2核4G 9.9元/月、199元/年,均搭载ESSD云盘与高网络带宽,且提供丰富镜像选择,适用建站、开发测试、小程序后端等多种场景。用户可通过明确抢购规则、关注活动页面、做好备选方案等策略提高成功率。
403 4
|
6月前
|
弹性计算 缓存 前端开发
交友源码APP开发搭建流程基本功能/正版聊天交友软件同城交友系统搭建 助你轻松开启浪漫同城社交
开发一款成功的同城交友APP,是技术、产品、运营和人性洞察的完美结合。它不仅仅是一个软件,更是一个创造连接、传递幸福的平台。 当用户在您的平台上结识了挚友、找到了伴侣,甚至拓展了事业圈子时,您就真正实现了“助你轻松开启浪漫同城社交”的使命。
450 0
|
6月前
|
缓存 JavaScript 算法
Vue 3性能优化
Vue 3 通过 Proxy 和编译优化提升性能,但仍需遵循最佳实践。合理使用 v-if、key、computed,避免深度监听,利用懒加载与虚拟列表,结合打包优化,方可充分发挥其性能优势。(239字)
485 1
|
存储 编译器 程序员
【C语言】auto 关键字详解
`auto` 关键字用于声明局部变量的自动存储类,其作用主要体现在变量的生命周期上。尽管现代C语言中 `auto` 的使用较少,理解其历史背景和作用对于掌握C语言的存储类及变量管理仍然很重要。局部变量默认即为 `auto` 类型,因此在实际编程中,通常不需要显式声明 `auto`。了解 `auto` 关键字有助于更好地理解C语言的存储类及其在不同场景中的应用。
784 1
|
XML Java 数据库连接
三、MyBatis核心配置文件详解
三、MyBatis核心配置文件详解
328 15
|
机器学习/深度学习 并行计算 异构计算
WINDOWS安装eiseg遇到的问题和解决方法
通过本文的详细步骤和问题解决方法,希望能帮助你顺利在 Windows 系统上安装和运行 EISeg。
815 2
|
安全 编译器 C语言
C语言常量的定义与使用的注意点
在 C 语言中,常量是在程序运行期间值不变的量,通过字面值、`#define` 或 `const` 关键字定义。字面常量直接在代码中表示固定值,如整数 `100`、浮点数 `3.14`、字符 `&#39;A&#39;` 和字符串 `&quot;Hello, World!&quot;`;`#define` 用于定义宏,如 `#define PI 3.14159`;`const` 则定义不可变变量,如 `const int daysInWeek = 7`。常量可用于数组大小、循环边界等场景,并能提升代码的可读性和可维护性。使用时需注意作用域、类型安全和命名,避免直接使用数字(魔法数字)。
1017 8
|
监控 Java 测试技术
|
SQL Oracle 关系型数据库
SQL与PL/SQL:数据库编程语言的比较
【8月更文挑战第31天】
564 1

热门文章

最新文章