java的配置对象@Configuration

1. @Configuration(配置类)

作用 : 告诉 Spring 这是一个配置类,里面会定义很多 Bean(对象)。Spring 会专门去解析这个类,把里面的 @Bean 方法都执行一遍,从而把返回的对象注册到 Spring 容器中。

2. @Bean(声明 Bean)

作用 : 标注在方法上,表示"这个方法的返回值是一个 Spring Bean,要交给 Spring 容器管理"。

特点

  • 方法名默认就是 Bean 的名称(也可以通过 name 或 value 属性自定义)。
  • 可以有参数,Spring 会自动注入依赖(类似构造函数注入)。
  • 通常写在 @Configuration 类里面。
java 复制代码
@Configuration
public class ShiroConfig {

    @Bean
    public DefaultWebSecurityManager sessionManager() {
        DefaultWebSecurityManager manager = new DefaultWebSecurityManager();
        // ... 配置
        return manager;
    }

    @Bean
    public ShiroFilterFactoryBean shiroFilterFactoryBean(DefaultWebSecurityManager sessionManager) {
        // 你之前的那段代码
        ShiroFilterFactoryBean bean = new ShiroFilterFactoryBean();
        bean.setSecurityManager(sessionManager);
        return bean;
    }
}

@Component

告诉 Spring:"这个类是一个组件,请帮我自动创建并管理它(注册成 Bean)。"

Spring 通过组件扫描(Component Scan) 找到带有 @Component 的类,自动实例化并放入 Spring 容器中。


基本用法

Java

csharp 复制代码
@Component
public class UserService {

    public void sayHello() {
        System.out.println("Hello!");
    }
}
相关推荐
程序员阿明1 小时前
flowable集成flowable及其运行示例spring boot后端
java·spring boot·后端
代码不停2 小时前
Spring IoC&DI
java·后端·spring
我是一颗柠檬2 小时前
【Redis】数据类型详解Day2(2026年)
数据库·redis·后端·缓存
土狗TuGou2 小时前
SQL内功笔记 · 第7篇:CTE&临时表&递归
数据库·笔记·后端·sql·mysql
Reisentyan2 小时前
[Pro]GoLang Learn Data Day 5
开发语言·后端·golang
公众号-老炮说Java2 小时前
Spring AI Alibaba 硬核实战:Token 原理 → RAG → 多智能体,一篇通
java·人工智能·后端·spring
zoyation2 小时前
Spring Boot多数据源
java·spring boot·后端
云登指纹浏览器3 小时前
指纹浏览器自动化API对接实战总结:技术方案选型 + 避坑指南
运维·后端·自动化