文章目录
-
-
-
- [什么是 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
等注解,可以更轻松地管理对象之间的依赖关系,提高了代码的可读性和可维护性。