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的作用域(如singleton、prototype等)。

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;
相关推荐
文丑颜不良啊几秒前
LeetCode1401~1420题目解析
java·leetcode
Nuanyt2 分钟前
LeetCode Hot 100 链表专题2 3 题 (Java)
java·笔记·算法·leetcode·链表
文丑颜不良啊9 分钟前
LeetCode1341~1360题目解析
java·leetcode
QianhangQianping37 分钟前
撤销重做不是「存快照」:一个可视化编辑器的Operation 设计
java·前端·数据库·typescript·编辑器·前端架构·撤销重做
海绵宝宝转agent42 分钟前
LeetCodehot100题解
java·笔记·学习·算法·leetcode·深度优先
SunnyDays101143 分钟前
Java 操作 Word 脚注和尾注:添加、读取与删除
java·word
SunnyDays10111 小时前
Java 为 Word 添加页码:隐藏封面页码、从指定页开始编号、奇偶页页码设置等
java·word·页码
开源推荐官1 小时前
多门店 O2O 商城选型复盘:从开发视角对比主流开源系统
java·架构·开源·php
吴名氏.1 小时前
Java转AI Agent教程(第二周)超时重试与错误分类
java·人工智能·python·分类·ai agent
从琳开始9891 小时前
从Socket到UDP回显服务器:Java网络编程完整指南
java·网络·网络协议·udp·java-ee