logo

Пролећне напомене о покретању

Спринг Боот Аннотатионс је облик метаподатака који пружају податке о програму. Другим речима, напомене се користе за обезбеђивање допунски информације о програму. То није део апликације коју развијамо. То нема директан утицај на рад кода који анотирају. Не мења радње компајлираног програма.

У овом одељку ћемо разговарати о неким важним Пролећна напомена о покретању које ћемо користити касније у овом водичу.

Напомене основног оквира Спринг

@Потребан: То се односи на пасуљ метод постављања. Указује на то да означени беан мора бити попуњен у време конфигурације са потребним својством, у супротном изазива изузетак БеанИнитилизатионЕкцептион .

Пример

нумпи линспаце
 public class Machine { private Integer cost; @Required public void setCost(Integer cost) { this.cost = cost; } public Integer getCost() { return cost; } } 

@Аутовиред: Спринг обезбеђује аутоматско ожичење засновано на анотацији тако што обезбеђује @Аутовиред белешку. Користи се за аутоматско повезивање спринг беан-а на методе постављања, променљиву инстанце и конструктор. Када користимо напомену @Аутовиред, контејнер са опругом аутоматски повезује беан тако што се подудара са типом података.

Пример

 @Component public class Customer { private Person person; @Autowired public Customer(Person person) { this.person=person; } } 

@Конфигурација: То је напомена на нивоу класе. Класа означена са @Цонфигуратион коју користе Спринг Цонтаинерс као извор дефиниција беан-а.

Пример

 @Configuration public class Vehicle { @BeanVehicle engine() { return new Vehicle(); } } 

@ЦомпонентСцан: Користи се када желимо да скенирамо пакет за пасуљ. Користи се са напоменом @Цонфигуратион. Такође можемо одредити основне пакете за скенирање Спринг Цомпонентс.

Пример

 @ComponentScan(basePackages = 'com.javatpoint') @Configuration public class ScanComponent { // ... } 

@Беан: То је анотација на нивоу методе. То је алтернатива КСМЛ ознаци. Он говори о методи за производњу пасуља којим ће управљати Спринг Цонтаинер.

сортирање гомиле

Пример

 @Bean public BeanExample beanExample() { return new BeanExample (); } 

Стереотипске напомене Спринг Фрамеворк-а

@Саставни део: То је напомена на нивоу класе. Користи се за означавање Јава класе као беан-а. Јава класа означена са @Саставни део се налази током путање разреда. Спринг Фрамеворк га преузима и конфигурише у контексту апликације као а Спринг Беан .

вишенитност у Јави

Пример

 @Component public class Student { ....... } 

@Контролер: @Цонтроллер је напомена на нивоу класе. То је специјализација за @Саставни део . Он означава класу као руковалац веб захтева. Често се користи за послуживање веб страница. Подразумевано, враћа стринг који указује на коју руту да преусмери. Углавном се користи са @РекуестМаппинг Анотација.

Пример

 @Controller @RequestMapping('books') public class BooksController { @RequestMapping(value = '/{name}', method = RequestMethod.GET) public Employee getBooksByName() { return booksTemplate; } } 

@Сервис: Такође се користи на нивоу разреда. Он говори Спрингу да класа садржи пословна логика .

Пример

 package com.javatpoint; @Service public class TestService { public void service1() { //business code } } 

@Репозиторијум: То је напомена на нивоу класе. Репозиторијум је а ДАО (Објекат приступа подацима) који директно приступају бази података. Репозиторијум обавља све операције везане за базу података.

 package com.javatpoint; @Repository public class TestRepository { public void delete() { //persistence code } } 

Пролећне напомене о покретању

    @ЕнаблеАутоЦонфигуратион:Он аутоматски конфигурише беан који је присутан у путањи класе и конфигурише га за покретање метода. Употреба ове напомене је смањена у издању Спринг Боот 1.2.0 јер су програмери обезбедили алтернативу напомене, тј. @СпрингБоотАпплицатион .@СпрингБоотАпплицатион:То је комбинација три напомене @ЕнаблеАутоЦонфигуратион, @ЦомпонентСцан, и @Конфигурација .

Спринг МВЦ и РЕСТ напомене

    @РекуестМаппинг:Користи се за мапирање веб захтеви . Има много опционих елемената као што су конзумира, заглавље, метод, име, параметре, путању, производи , и вредност . Користимо га са класом као и са методом.

Пример

 @Controller public class BooksController { @RequestMapping('/computer-science/books') public String getAllBooks(Model model) { //application code return 'bookList'; } 
    @ГетМаппинг:То мапира ХТТП ГЕТ захтева на методу специфичног руковаоца. Користи се за креирање крајње тачке веб услуге која доноси Користи се уместо употребе: @РекуестМаппинг(метод = РекуестМетход.ГЕТ) @ПостМаппинг:То мапира ХТТП ПОСТ захтева на методу специфичног руковаоца. Користи се за креирање крајње тачке веб услуге која ствара Користи се уместо употребе: @РекуестМаппинг(метод = РекуестМетход.ПОСТ) @ПутМаппинг:То мапира ХТТП ПУТ захтева на методу специфичног руковаоца. Користи се за креирање крајње тачке веб услуге која ствара или ажурирања Користи се уместо употребе: @РекуестМаппинг(метод = РекуестМетход.ПУТ) @ДелетеМаппинг:То мапира ХТТП ДЕЛЕТЕ захтева на методу специфичног руковаоца. Користи се за креирање крајње тачке веб услуге која брише ресурс. Користи се уместо употребе: @РекуестМаппинг(метод = РекуестМетход.ДЕЛЕТЕ) @ПатцхМаппинг:То мапира ХТТП ПАТЦХ захтева на методу специфичног руковаоца. Користи се уместо употребе: @РекуестМаппинг(метод = РекуестМетход.ПАТЦХ) @РекуестБоди:Навикло се да везати ХТТП захтев са објектом у параметру методе. Интерно користи ХТТП МессагеЦонвертерс да конвертујете тело захтева. Када означимо параметар методе са @РекуестБоди, оквир Спринг повезује тело долазног ХТТП захтева за тај параметар.@РеспонсеБоди:Он везује повратну вредност методе за тело одговора. Он говори Спринг Боот Фрамеворк-у да серијализује повратни објекат у ЈСОН и КСМЛ формат.@ПатхВариабле:Користи се за издвајање вредности из УРИ-ја. Најприкладнији је за веб услугу РЕСТфул, где УРЛ садржи променљиву путање. Можемо дефинисати више @ПатхВариабле у методу.@РекуестПарам:Користи се за издвајање параметара упита из УРЛ-а. Такође је познат као а параметар упита . Најприкладнији је за веб апликације. Може да одреди подразумеване вредности ако параметар упита није присутан у УРЛ-у.@РекуестХеадер:Користи се за добијање детаља о заглављима ХТТП захтева. Користимо ову напомену као а параметар методе . Опциони елементи напомене су име, обавезно, вредност, дефаултВалуе. За сваки детаљ у заглављу треба да наведемо посебне напомене. Можемо га користити више пута у методи@РестЦонтроллер:Може се сматрати комбинацијом @Цонтроллер и @РеспонсеБоди напомене . Напомена @РестЦонтроллер је сама по себи означена анотацијом @РеспонсеБоди. То елиминише потребу за означавањем сваке методе помоћу @РеспонсеБоди.@РекуестАттрибуте:Он повезује параметар методе са атрибутом захтева. Пружа згодан приступ атрибутима захтева из методе контролера. Уз помоћ @РекуестАттрибуте напомене, можемо приступити објектима који су попуњени на страни сервера.

Напомена: Користили смо све горе наведене напомене у нашем водичу за РЕСТфул веб услуге са примерима из стварног света.