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!");
    }
}
相关推荐
vx_Biye_Design1 小时前
springboot游泳馆系统93765-计算机课程设计、毕业设计
java·javascript·spring boot·后端·python·spring·课程设计
名字还没想好☜1 小时前
Java NIO ByteBuffer 实战:flip/clear/compact 三个绕晕人的方法与 position/limit 心智模型
java·开发语言·后端·spring·nio
专业程序开发源2 小时前
springbootLivehouse票务系统-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·课程设计·pygame
PC2005_cloud2 小时前
Rust学习笔记:所有权、借用与生命周期——Rust的核心机制
前端·后端
蜗牛互联网2 小时前
语音AI开始边听边说,改变的不只是响应速度
java·人工智能·后端·语音识别
Mav2 小时前
[个人学习记录]从零构建高性能 LLM 推理网关:Go 语言 SSE 流式转发、级联取消与背压
后端
狼爷2 小时前
磁盘IO打满怎么办?我用5个真实案例,总结了这套可复用的排查方法论
后端·性能优化
小羊在睡觉2 小时前
HLS视频
linux·后端·golang
苍何3 小时前
小米版 Codex,干活有点猛啊
后端
苍何3 小时前
直播!用 AI 实时生成游戏,速来看
后端