@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

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

相关文章
|
3月前
|
安全 Java 网络架构
4.认识SpringSecurity
Spring Security 是 Spring 的核心安全框架,提供认证、授权及安全防护功能。支持表单、OAuth2、JWT 等多种认证方式,基于过滤器链实现请求鉴权,可防御 CSRF 等攻击,灵活扩展,保障 Web 应用安全。
|
3月前
|
安全 Java 开发工具
1.工程搭建与验证
本文介绍如何基于阿里云脚手架快速搭建SpringBoot工程(选用2.7.6版本),并整合Spring Security。内容涵盖项目创建、代码导入、Web依赖引入、接口编写与验证,以及Spring Security的集成与默认登录机制测试,最后提供完整代码仓库地址与分支。
|
3月前
|
安全 Java 数据库
1.RememberMe简介及用法
RememberMe功能通过令牌(非明文密码)实现用户关闭浏览器后仍保持登录状态,避免重复认证。Spring Security中通过`remember-me` Cookie传递令牌,并在请求时校验身份。为提升安全性,可将Token持久化至数据库并增加二次校验机制,防止令牌泄露引发的安全风险。(238字)
|
3月前
|
存储 缓存 Java
自定义注解
本文介绍如何在Spring项目中实现自定义注解,结合AOP完成日志记录,并通过过滤器实现登录权限控制。涵盖注解定义、元注解说明、切面编程及实际应用场景,展示其在参数处理、权限校验等场景的扩展用途,代码简洁,易于复用。
|
3月前
|
前端开发 程序员
常见注解及使用说明
本文介绍了SpringMVC中@RequestMapping注解的作用及原理,它用于将HTTP请求映射到控制器方法,实现前后端接口路径对应。并通过@GetMapping等派生注解简化开发,提升可读性与效率。
|
3月前
|
SQL 安全 关系型数据库
了解SQL注入
SQL注入是一种利用Web应用输入验证缺陷,向数据库提交恶意SQL语句的攻击方式,可导致身份绕过、数据泄露、篡改甚至系统被控。常见于用户输入直接拼接SQL语句的场景。防御需结合输入验证、参数化查询及IPS等多层机制,防止攻击者操控数据库逻辑,保障数据安全。
|
3月前
|
XML JSON Java
什么是RESTful
RESTful是一种面向资源的API设计规范,主张用URI标识资源,HTTP动词(GET/POST/PUT/DELETE)操作资源状态,实现接口的统一与标准化。相比传统接口路径含动词、行为不规范的问题,RESTful结构清晰、易于理解与扩展,提升前后端协作效率与系统可维护性。
|
3月前
|
SQL Java 数据库连接
持久层框架MyBatisPlus
MyBatisPlus是MyBatis的增强工具,简化单表CRUD操作,支持条件构造器、分页、逻辑删除等功能,提升开发效率,广泛应用于企业级Java项目中。
|
3月前
|
JSON 安全 Java
6.鉴权
本文介绍基于Spring Security与JWT实现客户端Token认证的完整方案,涵盖登录生成Token、请求验签、权限角色控制等细节。通过自定义过滤器与验证逻辑,结合Redis可扩展实现分布式会话管理,构建安全可靠的RESTful API防护体系。(238字)
|
3月前
|
存储 缓存 Java
自动装配机制
本文深入解析SpringBoot自动装配机制,从@SpringBootApplication注解入手,剖析其组合注解原理。重点讲解@EnableAutoConfiguration如何通过@AutoConfigurationImportSelector加载spring.factories中配置的自动装配类,结合@AutoConfigurationPackage实现包扫描与Bean注册,揭示SpringBoot“约定优于配置”的底层实现逻辑。(238字)

热门文章

最新文章