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