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!");
    }
}
相关推荐
Listen·Rain14 分钟前
Springboot整合Ollama实现调用本地多模型
java·spring boot·后端
张三丰242 分钟前
Agent 不只是聊天框:用 ArkUI 做一个鸿蒙任务工作台
后端
卷无止境1 小时前
从Python的cryptography库出发,从零开始理解密码学,到构建零信任网络
后端·python
Augustzero1 小时前
`co_await` 按下暂停键之后:从零看懂 C++20 协程
c++·后端
IguoChan3 小时前
4. d2l — 模型选择、欠拟合和过拟合
后端
shepherd1263 小时前
一次把 Spring MVC 文件上传参数“查没了”的排查:multipart、Filter 与 request body 的连环坑
java·后端·spring·mvc
贺国亚3 小时前
Prompt-Injection攻防与OWASP-LLM
后端
卷无止境4 小时前
《Deep Analysis with Polars》进阶分析技巧——深入解读
后端·python
Csvn5 小时前
Python 开发技巧 · logging 最佳实践 —— 告别 print,搭建工程级日志系统
后端·python
智码看视界5 小时前
Day19 Spring Boot启动优化:启动时间从8秒降到2秒
java·spring boot·后端·启动优化