Spring Boot 与@Bean注解搭配场景

在Spring Boot中,@Bean注解通常与其他注解一起使用,以实现更灵活的Bean管理、依赖注入和配置。以下是一些常见的搭配使用场景:

1. @Bean@Configuration

@Bean注解通常用于配置类(带有@Configuration注解的类)中,用于声明一个Bean。Spring容器会自动调用带有@Bean注解的方法,并将方法的返回值注册为一个Bean。

java 复制代码
@Configuration
public class AppConfig {
    @Bean
    public MyService myService() {
        return new MyService();
    }
}

2. @Bean@Scope

@Scope注解可以与@Bean一起使用,用于指定Bean的作用域(如singletonprototype等)。

java 复制代码
@Bean
@Scope("prototype")
public MyService myService() {
    return new MyService();
}

3. @Bean@Lazy

@Lazy注解可以与@Bean一起使用,表示延迟加载Bean。这意味着Bean只有在被首次使用时才会被初始化。

java 复制代码
@Bean
@Lazy
public MyService myService() {
    return new MyService();
}

4. @Bean@Primary

@Primary注解可以与@Bean一起使用,用于指定当存在多个同类型的Bean时,优先选择哪一个Bean。

java 复制代码
@Bean
@Primary
public MyService primaryService() {
    return new MyService();
}

5. @Bean@Profile

@Profile注解可以与@Bean一起使用,用于根据环境激活特定的Bean。

java 复制代码
@Bean
@Profile("dev")
public MyService devService() {
    return new DevService();
}

6. @Bean@DependsOn

@DependsOn注解可以与@Bean一起使用,用于指定当前Bean的依赖关系,确保某些Bean在当前Bean初始化之前被创建。

java 复制代码
@Bean
@DependsOn("anotherBean")
public MyService myService() {
    return new MyService();
}

7. @Bean@Autowired

@Bean声明的Bean可以通过@Autowired注解在其他组件中被自动注入。

java 复制代码
@Service
public class MyService {
    @Autowired
    private MyBean myBean;
}

8. @Bean@Qualifier

当存在多个同类型的Bean时,@Qualifier注解可以与@Autowired一起使用,用于指定注入哪一个Bean。

java 复制代码
@Autowired
@Qualifier("myService")
private MyService service;
相关推荐
腻害兔3 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
码智社4 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
萧瑟余晖5 小时前
JDK 26 新特性详解
java·开发语言
马优晨6 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
维天说8 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
Zane19949 小时前
并发 vs 并行:别再傻傻分不清了,一文讲透 Java 并发编程的第一课
java·后端
噢,我明白了10 小时前
java中Excel的导入和导出(EasyExcel)
java·开发语言·excel
吠品10 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库
啊湘10 小时前
天气查询API接口 按月Token鉴权 实时天气 物联网可用 文档齐全
java·后端·struts
Java内核笔记10 小时前
告别十亿美元的错误 : Spring Boot 4 空安全 (JSpecify) 实战
java·spring boot·后端