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!");
    }
}
相关推荐
前进的李工12 小时前
飞书企业知识库设计+后端高频八股
数据库·redis·后端·mysql·性能优化·飞书·rag
金銀銅鐵14 小时前
[Java] 展示增删元素时 LinkedList 的内部变化
java·后端·ai编程
武子康15 小时前
Vercel Cache Reason:相同 MISS,怎样决定下一步查什么
人工智能·后端·agent
杨文说AI与数字化15 小时前
把模型依赖做成可替换的组件:三层适配 + 一套回归评估
后端
IT_陈寒16 小时前
Vue的这个响应式陷阱我居然现在才发现
前端·人工智能·后端
WL学习笔记16 小时前
使用string类
c++·后端·string类
飞鸟真人16 小时前
IM网关系列(九)单账号流量统计:滑动窗口桶方案设计与Go实现
后端·golang
武子康17 小时前
Embedding 替换怎么评测:把索引成本算进成功任务
人工智能·后端·agent
大哥430919 小时前
on-failure 不扛重启:一次 Docker restart 策略的反直觉排查
后端
房西杭19 小时前
GM指令:仓库扩容、清空仓库(行会仓库 + 个人仓库,Lua + proto + GMMgr注册)
后端