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!");
    }
}
相关推荐
TunerT_TQ1 小时前
Microsoft |Playwright CLI 源码静态审阅:从 5 个文件看浏览器自动化工具的工程边界
后端·开源·github
JavaGuide2 小时前
84.5K+ Star!这个开源编程 Agent 控制台,能统一管理 Codex、Claude Code,DeepSeek Harness 也能接入
后端·github
swipe2 小时前
RabbitMQ 实战:AI Agent 里异步处理的标配方案(手把手 + 4 种交换机全解析)
后端·面试·langchain
神奇小汤圆3 小时前
30张图,搞懂分布式追踪系统
后端
量化小c3 小时前
一行代码查 BTCUSDT 和 AAPL 最新价?QuantDash 统一多市场实时行情接口实战
后端·算法·github
沙盘客3 小时前
AFSIM 官方案例库全景与解读方法论
c++·经验分享·后端
abcefg_h4 小时前
MCP 实战指南:如何在项目中使用 Model Context Protocol 及其通信原理
开发语言·后端·golang·mcp
AI多Agent协作实战派4 小时前
AI多Agent协作系统实战(四十八):改个名,整个AI团队都不认识人了
后端
wei_shuo4 小时前
KES 故障诊断与应急响应:问题排查、根因分析与应急预案
后端