Похожие презентации:
Dependency Injection
1.
Dependency Injection2.
Что это?Dependency injection — или же внедрение зависимостей,
это механизм, на котором построен фреймворк Spring.
Так как наши компоненты(они же Bean) совершенно друг о
друге ничего не знают, работать друг с другом они не смогут.
Для того чтобы компоненты начали друг с другом общаться,
используется механизм внедрения зависимостей.
Для этого механизма есть специальная аннотация @Autowired. Если переводить дословно — автоматическое
связывание.
3.
Виды DIDependency injection бывает 3 видов:
1) Конструктор.
2) Поле.
3) Сеттер.
4.
КонструкторПри внедрении зависимостей через конструктор, он помечается аннотацией
@Autowired и принимает в себя список параметров — компоненты, которые
будут использоваться в нашем текущем компоненте.
@RestController
@RequestMapping(value = "/users")
public class UserController {
private final UserService userService;
@Autowired
public UserController(UserService userService) {
this.userService = userService;
}
}
5.
ПолеПри внедрении зависимости через поле, оно помечается @Autowired и
все. Далее спринг сам внедрит зависимость в это поле.
@RestController
@RequestMapping(value = "/users")
public class UserController {
@Autowired
private UserService userService;
}
6.
СеттерПри внедрении зависимости через сеттер, @Autowired вешается на сеттер поля.
@RestController
@RequestMapping(value = "/users")
public class UserController {
private UserService userService;
@Autowired
public void setUserService(UserService userService) {
this.userService = userService;
}
}
7.
Внедрение зависимостей это принцип на которомпостроен фреймворк Spring. Это самый быстрый и легкий
способ связать компоненты между собой.