- 控制反转: Inversion Of Control,简称IOC。程序不再自己创建依赖对象,而是通过容器(IOC容器或Spring容器)注入,这使得程序的耦合性降低,更加灵活和可扩展。这种思想称为控制反转。
使用@Component注解,Spring会将该类标记为一个Spring管理的Bean,并在容器启动时自动创建该类的实例。
@Component
public class UserService {
public User login(User user) {
return user;
}
}
- 依赖注入: Dependency Injection,简称DI。是实现IOC的一种方式。DI允许容器在运行时自动将需要的依赖对象注入到类的实例中,而不是由类自己去创建这些依赖对象。称之为依赖注入。
使用@Autowired注解,Spring会自动为类的属性、构造器或方法注入所需的依赖对象
@RestController
public class LoginController {
private final UserService userService;
@Autowired
public LoginController(UserService userService) {
this.userService = userService;
}
}
IOC容器中创建、管理的对象,称之为:bean对象