@Configuration

简介: 被@Configuration标注的类视为Spring配置类,等同于XML配置文件,通过@Bean注册Bean。示例中ConfigurationDemo配置类定义currentDate Bean,经AnnotationConfigApplicationContext加载后,容器成功注册配置类及其中的Bean,实现基于注解的IoC容器配置,简化XML配置方式。

被 @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

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

相关文章
|
2月前
|
JSON 安全 Java
SpringBoot鉴权
本文介绍基于Spring Security与JWT实现客户端Token认证的完整方案,涵盖登录鉴权、Token生成与验证、角色权限控制等细节。通过自定义过滤器与认证组件,结合Redis或数据库可扩展实现高效安全的无状态认证体系,适用于Spring Boot微服务架构。
|
存储 人工智能 运维
阿里云 Tair 基于 3FS 工程化落地 KVCache:企业级部署、高可用运维与性能调优实践
阿里云 Tair KVCache 团队联合硬件团队对 3FS 进行深度优化,通过 RDMA 流量均衡、小 I/O 调优及全用户态落盘引擎,提升 4K 随机读 IOPS 150%;增强 GDR 零拷贝、多租户隔离与云原生运维能力,构建高性能、高可用、易管理的 KVCache 存储底座,助力 AI 大模型推理降本增效。
|
2月前
|
安全 Java 开发工具
SpringSecurity工程搭建与验证
本文介绍如何基于阿里云脚手架快速搭建SpringBoot工程(选用2.7.6版本),并整合Spring Security。内容涵盖项目创建、代码导入、Web依赖引入、接口编写与验证,以及Security依赖添加后的登录认证测试,最终实现安全访问控制。完整代码见GitHub仓库Day01分支。
|
2月前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
2713 40
|
2月前
|
安全 数据安全/隐私保护
什么是权限管理
权限管理包含认证与授权两大核心:认证验证用户身份(如登录),授权则根据角色分配资源访问权限。通过角色叠加生成可访问菜单,确保系统安全,防止越权操作。详见:https://www.yuque.com/yzxb/index/bo5dd6l0b298l3dq
|
2月前
|
Java Maven Spring
SpringBoot打包
本项目通过Maven打包为单一可执行JAR,内置配置文件与依赖,使用Spring Boot插件指定主类并repackage。执行`mvn clean package`构建后,通过`java -jar`运行(前台/后台),`kill -9 pid`停止服务。也可将JAR、依赖与配置分离部署,提升灵活性与维护性。(238字)
|
2月前
|
存储 监控 Java
整合切面,参数拦截+过滤
基于Spring AOP实现的请求参数拦截切面,用于记录Web层请求日志。自动捕获请求来源、URL、方式、响应方法及入参,并统计执行耗时,便于调试与监控,支持后续扩展至日志存储或ELK分析。
|
2月前
|
XML SQL 监控
整合Logback,滚动记录+多文件
`logback-spring.xml` 是Spring Boot项目日志配置文件,支持按级别、模块分离输出日志,包含控制台与文件双输出,支持每日滚动归档。通过`LogProxy.getLogger("XXX_LOG")`获取指定日志记录器,实现如INFO、ERROR、SQL、支付、定时任务等分类日志管理,便于排查问题与系统监控。
|
2月前
|
前端开发 程序员
SpringCloud常见注解及使用说明
SpringMVC中,通过注解将HTTP请求映射到控制器方法。@RequestMapping定义接口路径,实现前后端对接,如“/staff/add”对应新增操作;@GetMapping、@PostMapping等为其衍生注解,简化常用请求类型处理,统一实现请求路由。
|
2月前
|
Java 关系型数据库 MySQL
Auth2.0实战案例
本项目基于Spring Boot与Spring Cloud构建,实现OAuth2四种授权模式。通过父工程统一版本管理,搭建授权服务器与资源服务器,集成Spring Security、MyBatis及MySQL,完成认证授权流程。支持授权码、简化、密码及客户端四种模式,实现安全的分布式权限控制。