@Configuration

简介: 被@Configuration标注的类会被Spring容器识别为配置类,等同于XML配置文件。通过@Bean可注册Bean实例,配合AnnotationConfigApplicationContext可启动IOC容器并加载所有Bean,包括配置类自身。

被 @Configuration 标注的类,会被 Spring 的IOC容器认定为配置类。
一个被 @Configuration 标注的类,相当于一个 applicationContext.xml 的配置文件。

例如:声明一个类,并标注 @Configuration 注解:
@Configuration
public class ConfigurationDemo {
@Bean
public Date currentDate() {
return new Date();
}
}

上述注册Bean的方式类比于xml:

之后使用注解启动方式,初始化一个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

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

相关文章
删除文档
删除文档使用语法:db.集合名称.remove(条件)。如db.comment.remove({})将清空集合数据,慎用;删除指定记录如_id为"1"的文档,可执行db.comment.remove({_id:"1"})。操作不可逆,请谨慎执行。
|
2月前
|
安全 Java Spring
SecurityFilterChain
`SecurityFilterChain` 是Spring Security中定义安全过滤器链的接口,其唯一实现类 `DefaultSecurityFilterChain` 封装了请求匹配器和过滤器列表,用于判定请求是否匹配并提供对应的过滤器链,是Web安全配置的核心组件。
|
2月前
|
Java 测试技术 数据库
Spring Boot中的项目属性配置
本文介绍Spring Boot中配置管理的常用方法:通过`@Value`读取单个配置,使用`@ConfigurationProperties`封装多个配置项,并实现开发与生产环境配置文件(如application-dev.yml和application-pro.yml)的灵活切换,提升项目可维护性。
|
2月前
|
SQL 关系型数据库 Java
分页
本文介绍了五种分页实现方式:MyBatis自带RowBounds内存分页、PageHelper插件分页、原生SQL分页、数组分页(查全量后subList)及拦截器分页。前两者属逻辑分页,数据全加载至内存,小数据量高效但大数量易溢出;后三者为物理分页,通过SQL或拦截器实现真实分页,适用于大数据量场景。推荐优先使用物理分页以提升性能与稳定性。(238字)
|
2月前
|
JSON NoSQL MongoDB
文档的基本查询
本文介绍了MongoDB中查询文档的基本操作。通过`find()`和`findOne()`方法可实现全集合查询及条件查询,如按`userid`筛选;支持投影查询,指定返回字段,控制是否显示`_id`,灵活获取所需数据。
|
2月前
|
XML Java 数据格式
Spring Boot是什么
Spring Boot 于2013年启动,旨在简化Spring应用开发。它通过自动配置和内嵌服务器,减少XML配置,实现开箱即用,提升开发效率,是Spring生态中不可或缺的快速开发利器。
|
2月前
|
存储
初始化Map大小并非用多少指定多少
初始化HashMap时,指定容量并非直接生效,而是会调整为最近的2的幂次(如1变2,7变8)。为避免扩容开销,建议使用Guava工具Maps.newHashMapWithExpectedSize(),或手动按公式:容量 = 预期元素数 / 0.75 + 1 设置。
|
2月前
|
监控 Java API
Spring Boot中的切面AOP处理
AOP(面向切面编程)通过分离关注点,将核心业务与辅助逻辑解耦。Spring Boot 中通过@Aspect、@Pointcut等注解实现AOP,可便捷地进行日志记录、性能监控、异常处理等操作,提升代码模块化与可维护性。(238字)
|
2月前
|
前端开发 程序员 开发者
常见注解及使用说明
本文介绍SpringMVC中@RequestMapping注解的作用与原理,讲解如何通过注解将HTTP请求映射到控制器方法,实现前后端接口对接,并简述@GetMapping等派生注解的封装关系,帮助开发者快速掌握接口路径定义机制。
常见注解及使用说明
|
2月前
|
算法 安全 Java
第一章 Java基础
本文系统梳理了Java核心知识,涵盖基础语法、集合类、网络编程、IO流、多线程并发、JVM原理、Lambda表达式、反射泛型及Tomcat优化等内容,结合面试高频考点,深入讲解重载重写、String特性、HashMap底层结构、synchronized锁机制、垃圾回收算法等关键技术点,助力开发者夯实基础,提升实战能力。
第一章 Java基础

热门文章

最新文章