无标题

简介: 111

@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


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

相关文章
|
2月前
|
SQL 监控 机器人
|
2月前
|
安全 数据安全/隐私保护
|
2月前
|
SQL 数据库连接 数据库
|
2月前
|
存储 缓存 Java
|
2月前
|
缓存 前端开发 安全
|
2月前
|
Web App开发 Dubbo 关系型数据库
|
2月前
|
Dubbo Java 应用服务中间件
|
2月前
|
敏捷开发 Java 测试技术
|
2月前
|
存储 负载均衡 算法