რა განსხვავებაა @autowired-სა და @inject-ს შორის?
რა განსხვავებაა @autowired-სა და @inject-ს შორის?

ვიდეო: რა განსხვავებაა @autowired-სა და @inject-ს შორის?

ვიდეო: რა განსხვავებაა @autowired-სა და @inject-ს შორის?
ვიდეო: Difference between @Autowired, @Inject & @Resource | Important Spring annotation Interview Question 2024, აპრილი
Anonim

შეგიძლიათ ველების და კონსტრუქტორის ანოტაცია @-ის გამოყენებით ავტომატური გაყვანილობა ვუთხრა Spring Framework-ს დამოკიდებულებების პოვნა ამისთვის შენ. @ ინექცია ანოტაციაც იმავე მიზანს ემსახურება, მაგრამ მთავარი შორის განსხვავება ისინი ეს არის @ ინექცია არის სტანდარტული ანოტაცია ამისთვის დამოკიდებულება ინექცია და @ ავტომატური გაყვანილობა გაზაფხულის სპეციფიკურია.

ანალოგიურად, ისმის კითხვა, რა არის @inject-ის გამოყენება?

Დამოკიდებულება ინექცია მხარს უჭერს ამ მიზნებს ობიექტის გამოყენების შექმნის გამოყოფით. ეს საშუალებას გაძლევთ შეცვალოთ დამოკიდებულებები კლასის შეცვლის გარეშე იყენებს მათ. ის ასევე ამცირებს რისკს, რომ თქვენ უნდა შეცვალოთ კლასი მხოლოდ იმიტომ, რომ შეიცვალა მისი ერთ-ერთი დამოკიდებულება.

გარდა ზემოთ, რას ნიშნავს Autowired? @ ავტომატური გაყვანილობა ძირითადად არის Spring injecting (აკეთებს ცვლადის ინიციალიზაციას) ცვლადის კონფიგურაციის საფუძველზე, რომელიც განსაზღვრეთ კლასებში @Component ანოტაციით. დამატებითი მითითება: @ ავტომატური გაყვანილობა Გაზაფხულზე.

გარდა ამისა, რა სარგებლობა მოაქვს @autowired ანოტაციას?

@ ავტომატური ანოტაცია უზრუნველყოფს უფრო წვრილმარცვლოვან კონტროლს სად და როგორ ავტოგაყვანილობა უნდა შესრულდეს. @ ავტომატური ანოტაცია შეიძლება იყოს გამოყენებული რომ ავტომავთული ლობიო სეტერის მეთოდზე ისევე, როგორც @Required ანოტაცია , კონსტრუქტორი, თვისება ან მეთოდები თვითნებური სახელებით და/ან მრავალი არგუმენტით.

არის თუ არა ავტოგაყვანილობა დამოკიდებულების ინექცია?

დამოკიდებულების ინექცია არის ერთი ან მეტი ლობიოს შეყვანა ერთ ლობიოში მეშვეობით კონსტრუქტორი ან სეტერის მეთოდი. გაზაფხული ასევე უზრუნველყოფს ავტომატური დამოკიდებულების ინექცია.