Я читал в некоторых сообщениях о Spring MVC
и Portlets
, что вставка поля не рекомендуется. Потому что я пытаюсь получить. Итак, я спросил себя, использую ли я инъекцию в поле, и я не могу ответить на него. Поскольку я понимаю, что инъекция поля - это если вы введете Bean
в атрибут с @Autowired
следующим образом:
CartController.java:
...
@Autowired
private Cart cart;
...
BookshopConfiguartion.java:
@Configuration
public class BookShopConfiguration {
@Bean
public Cart cart(){
return new Cart();
}
//more configuration
My Cart.java
используется для хранения и предоставления информации о книгах в корзине.
Во время моего исследования я прочитал о введении конструктора:
MyComponent.java:
...
public class MyComponent{
private Cart cart;
@Autowired
public MyComponent(Cart cart){
this.cart = cart;
}
...
Каковы преимущества и недостатки обоих этих типов инъекций?
ИЗМЕНИТЬ 1: Поскольку этот вопрос отмечен как дубликат этого вопроса, я проверил его. Потому что нет никаких примеров кода ни в вопросе, ни в ответах, которые мне не понятны, если я правильно с моим догадкой, какой тип инъекции я использую.