文章目录
-
-
-
- [什么是 Bean 注入?](#什么是 Bean 注入?)
- [Spring Boot 中的 Bean 注入](#Spring Boot 中的 Bean 注入)
-
- [1. `@Autowired` 注解](#1.
@Autowired注解) - [2. `@Component`, `@Service`, `@Repository` 注解](#2.
@Component,@Service,@Repository注解)
- [1. `@Autowired` 注解](#1.
- [Bean 的作用域和生命周期](#Bean 的作用域和生命周期)
- 总结
-
-
什么是 Bean 注入?
在 Spring 中,Bean 是应用程序的核心构建块。Bean 是由 Spring IoC 容器管理的对象,通过依赖注入实现对象之间的解耦。
Spring Boot 中的 Bean 注入
在 Spring Boot 中,Bean 注入通常通过 @Autowired、@Component、@Service、@Repository 等注解实现。@Autowired 用于自动装配 Bean,@Component 用于标识一个类为 Spring 组件,而 @Service 和 @Repository 用于特定类型的组件。
1. @Autowired 注解
@Autowired 注解是实现依赖注入的主要方式,它可以用于构造函数、成员变量、方法以及参数上。
示例代码:
java
@Service
public class MyService {
private final MyRepository repository;
@Autowired
public MyService(MyRepository repository) {
this.repository = repository;
}
// ...
}
2. @Component, @Service, @Repository 注解
这些注解帮助 Spring 扫描和识别 Bean,并且允许它们被自动装配到应用程序中。
示例代码:
java
@Component
public class MyComponent {
// ...
}
Bean 的作用域和生命周期
Spring Bean 可以具有不同的作用域,如 Singleton、Prototype、Request、Session 等。作用域决定了 Bean 实例的生命周期和存在方式。
示例代码:
java
@Component
@Scope("prototype")
public class MyPrototypeBean {
// ...
}
总结
Spring Boot 的 Bean 注入是通过注解简化了依赖注入的管理。通过 @Autowired、@Component、@Service 和 @Repository 等注解,可以更轻松地管理对象之间的依赖关系,提高了代码的可读性和可维护性。