spring boot的IOC注入
时间: 2024-05-24 15:08:30 浏览: 116
在 Spring Boot 中,IoC(Inversion of Control)容器负责管理应用程序中的对象并协调它们的生命周期。这意味着你不再需要自己手动创建和管理对象,而是将控制权交给 Spring 容器,让它来帮你创建和管理对象。
而在 Spring Boot 中,通过使用注解的方式来实现 IoC 容器的自动注入。常用的注解包括:
1. @Autowired:自动按类型注入,如果有多个实例,再按照名称注入。
2. @Qualifier:指定具体的注入实例的名称。
3. @Resource:默认按名称进行装配,名称可以通过 name 属性指定。
举个例子,假设我们有一个 UserService 接口和一个 UserServiceImpl 实现类:
```
public interface UserService {
void addUser(User user);
}
@Service
public class UserServiceImpl implements UserService {
@Override
public void addUser(User user) {
// 添加用户的具体实现
}
}
```
在需要使用 UserService 的地方,我们可以通过以下方式进行注入:
```
@RestController
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/users")
public void addUser(@RequestBody User user) {
userService.addUser(user);
}
}
```
在上述例子中,@Autowired 注解用于自动注入 UserService 的实例,因为只有一个 UserServiceImpl 实例,所以不需要使用 @Qualifier 进行具体实例的指定。
阅读全文