SpringBoot

简介: `@Configuration` 注解用于标记配置类,相当于 Spring 的 XML 配置文件,配合 `@Bean` 注解定义 Bean。通过 `AnnotationConfigApplicationContext` 可加载此类并启动 IOC 容器,实现组件注册与管理。

@Configuration

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

Java

运行代码复制代码

1

2

3

4

5

6

7

@Configuration

public class ConfigurationDemo {

   @Bean

public Date currentDate() {

return new Date();

}

}

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

XML

复制代码

1

<bean id="currentDate" class="java.util.Date"/>

之后使用注解启动方式,初始化一个IOC容器,并打印IOC容器中的所有bean的name:

Java

运行代码复制代码

1

2

3

4

5

6

7

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);

}

}

输出结果:

Java

运行代码复制代码

1

2

3

4

5

6

7

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

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


相关文章
|
26天前
|
安全 Java Spring
过滤器原理分析
本文详解Spring Security过滤器链的加载原理,通过DelegatingFilterProxy、FilterChainProxy到SecurityFilterChain,揭示十五个过滤器如何自动装配并生效,帮助理解框架底层机制,为自定义认证页面打下基础。
|
26天前
|
存储 安全 小程序
认识OAuth2.0
OAuth2.0是一种开放授权标准,允许第三方应用在用户授权下安全访问资源,无需获取用户账号密码。它通过令牌(token)机制实现权限控制,支持授权码、简化、密码和客户端四种模式,广泛用于第三方登录与服务间资源共享。
认识OAuth2.0
|
26天前
|
安全 Java 数据安全/隐私保护
认识SpringSecurity
Spring Security 是成熟的安全框架,提供认证、鉴权及防御网络攻击等核心功能。支持多种认证方式(如OAuth2、JWT)、基于URL和方法的权限控制,并通过过滤器链实现安全逻辑,保障应用安全。
|
26天前
|
敏捷开发 Java 测试技术
为什么要单元测试
本文探讨单元测试在现代软件开发中的重要性,打破“写单测拖慢进度”的误区,阐述其如何提升代码质量、调试效率与团队协作,并推动项目长期高效演进。
|
26天前
|
JSON Java 数据格式
SpringBoot使用汇总
本节课主要系统的讲解了 Spring Boot 集成 MyBatis 的过程,分为基于 xml 形式和基于注解的形式来讲解,通过实际配置手把手讲解了 Spring Boot 中 MyBatis 的使用方式,并针对注解方式,讲解了常见的问题已经解决方式,有很强的实战意义。在实际项目中,建议根据实际情况来确定使用哪种方式,一般 xml 和注解都在用。
|
26天前
|
存储 缓存 Java
自定义注解
本文介绍Java自定义注解的实现原理与应用,结合Spring AOP和过滤器实现日志、权限控制等功能。通过@Target、@Retention等元注解定义注解,并在Controller中使用,配合拦截器完成登录验证等实际场景,提升代码可读性与复用性。
|
26天前
|
安全 前端开发 Java
RememberMe简介及用法
RememberMe功能通过Cookie实现用户登录状态持久化,避免重复登录。其本质是服务端生成令牌存于Cookie,后续请求自动携带并校验,关闭浏览器后仍可保持登录。但存在令牌泄露风险,需结合数据库持久化Token、设置过期时间及二次验证提升安全性。
|
26天前
|
安全 Java 数据库
用户自定义认证
本文深入分析Spring Security认证流程,从UsernamePasswordAuthenticationFilter过滤器入手,解析用户登录认证的实现机制,重点讲解AuthenticationManager与AuthenticationProvider的协作过程,并揭示DaoAuthenticationProvider如何通过UserDetailsService完成自定义用户认证,为集成数据库认证提供源码级指导。
|
26天前
|
前端开发 安全 Java
用户自定义认证
本文介绍如何自定义Spring Security认证前端页面,包含login.html前端代码配置与后端接口及安全策略设置,通过SecurityConfig实现表单登录、路径放行与跳转控制,最终实现认证访问。
|
26天前
|
存储 缓存 安全
过滤器原理分析
本文介绍了Spring Security中常用的15个核心过滤器,涵盖安全上下文管理、认证授权、CSRF防护、会话控制等功能,帮助开发者理解各过滤器作用及执行流程,为深入掌握Spring Security机制奠定基础。