Это 6-й день моего участия в августовском испытании обновлений.Подробности о мероприятии:Испытание августовского обновления
Недавняя коллекция полезных аннотаций, используемых разработчиками, была упакована в эту шпаргалку Spring Annotations. От основных аннотаций, которые вам нужны для запуска вашего проекта, до аннотаций обнаружения сервисов, я вас обеспечиваю.
Важные весенние аннотации
Вот наиболее важные аннотации, которые должен знать любой Java-разработчик, использующий Spring:
- @Configuration- Используется для обозначения класса как источника определений bean-компонентов. Bean-компоненты — это системные компоненты, которые вы хотите связать вместе. Методы, отмеченные аннотацией @Bean, являются производителями компонентов. Spring будет обрабатывать жизненный цикл bean-компонента для вас и будет использовать эти методы для создания bean-компонента.
- @ComponentScan— Используется для того, чтобы Spring знал о вашем классе конфигурации и мог правильно инициализировать bean-компоненты. Он делает пакеты сканирования Spring настроенными для классов @Configuration.
- @Import -Если вам нужен более точный контроль над классом конфигурации, вы всегда можете использовать @import для загрузки дополнительной конфигурации. Этот метод работает, даже если вы укажете bean-компонент в XML-файле, как в 1999 году.
- @Component- Еще один способ объявить bean-компонент — пометить класс аннотацией @Component. Это приведет к преобразованию класса в bean-компонент Spring при автоматическом сканировании.
- **@Service -** отмечает специализацию @Component. Он сообщает Spring, что безопасно управлять ими более свободно, чем обычными компонентами. Помните, что службы не имеют инкапсулированного состояния.
- @Autowired -Чтобы связать части приложения вместе, используйте @Autowired для полей, конструкторов или методов в компонентах. Механизм внедрения зависимостей Spring подключает соответствующие bean-компоненты к членам класса, помеченным @Autowired.
- @Bean -Аннотация уровня метода, указывающая возвращаемый компонент, управляемый контекстом Spring. Возвращенный bean-компонент имеет то же имя, что и фабричный метод.
- @Lookup -Скажите Spring, чтобы он возвращал экземпляр возвращаемого типа метода, когда мы его вызываем.
- @Primary -Когда имеется несколько бобов одного типа, предпочтение отдается одному бобу.
- @Required -Указывает, что метод установки должен быть настроен на использование значения для внедрения зависимостей во время настройки. Используйте @Required в методах установки, чтобы пометить зависимости, заполняемые через XML. В противном случае создается исключение BeanInitializationException.
- @Value -Используется для присвоения значений полям в bean-компонентах, управляемых Spring. Он совместим с конструктором, сеттером и внедрением полей.
- @Lazy -Сделайте bean-компонент лениво-инициализированным. Аннотацию @Lazy можно использовать в любом классе, прямо или косвенно аннотированном с помощью @Component или метода, аннотированного с помощью @Bean.
- @Scope -Используется для определения области определения класса @Component или @Bean, которая может быть одноэлементной, прототипом, запросом, сеансом, глобальным сеансом или настраиваемой областью.
- @Profile -Компоненты добавляются в приложение только в том случае, если профиль активен.
С помощью этих аннотаций вы можете легко объединить свои приложения. Конечно, вы можете захотеть использовать больше аннотаций Spring, но это ядро фреймворка, обеспечивающее гибкость, которой славится Spring!
Важные аннотации Spring Boot
Давайте рассмотрим некоторые из наиболее часто используемых аннотаций в веб-приложениях. Имеет смысл популяризировать аннотации Spring Framework, упрощающие веб-разработку.
@SpringBootApplication
Одной из самых основных и полезных аннотаций является@SpringBootApplication. Это синтаксический сахар для объединения других аннотаций, о которых мы поговорим позже. @SpringBootApplication — это@Configuration,@EnableAutoConfigurationа также@ComponentScanКомбинация аннотаций с настроенными свойствами по умолчанию.
@Конфигурация и @ComponentScan
Аннотации @Configuration и @ComponentScan, которые мы описали выше, позволяют Spring создавать и настраивать bean-компоненты и компоненты приложения. Это отличный способ связать реальный код бизнес-логики с приложением.
@EnableAutoConfiguration
Сейчас@EnableAutoConfigurationАннотации лучше. Это позволяет Spring угадать конфигурацию на основе файлов JAR, доступных в пути к классам. Он узнает, какие библиотеки вы используете, и предварительно настраивает их компоненты без вашего участия. Так работают все библиотеки spring-boot-starter. Это означает, что это большое спасение, когда вы только начинаете работать с библиотекой, и когда вы знаете и считаете, что конфигурация по умолчанию является разумной.
Важные веб-аннотации Spring MVC
Следующие аннотации заставляют Spring настроить ваше приложение как веб-приложение, способное обслуживать ответы HTTP.
- @Controller -Отметьте класс как веб-контроллер, способный обрабатывать HTTP-запросы. Spring просматривает методы классов, помеченных аннотацией @Controller, и строит таблицу маршрутизации, чтобы знать, какие методы обслуживают какие конечные точки.
- @ResponseBody -@ResponseBody — это служебная аннотация, которая заставляет Spring привязывать возвращаемое значение метода к телу ответа HTTP. При создании конечных точек JSON это волшебный способ волшебным образом преобразовать ваши объекты в JSON для простоты использования.
- @RestController -Затем идет аннотация @RestController, которая представляет собой удобный синтаксис для использования @Controller с @ResponseBody. Это означает, что все методы действий в классе маркеров будут возвращать ответы JSON.
- @RequestMapping(method = RequestMethod.GET, value = "/path") -Аннотация @RequestMapping(method = RequestMethod.GET, value = "/path") указывает метод в контроллере, который должен отвечать за обслуживание HTTP-запросов по заданному пути. Spring будет обрабатывать детали реализации того, как это делается. Вы просто указываете значение пути в аннотации, и Spring направит запрос на правильный метод действия.
- @RequestParam(value="name", defaultValue="World") -Конечно, методу, обрабатывающему запрос, могут потребоваться параметры. Чтобы упростить привязку параметров HTTP к параметрам метода действия, вы можете использовать аннотацию @RequestParam(value="name", defaultValue="World"). Spring проанализирует параметры запроса и поместит соответствующие параметры в параметры вашего метода.
- @PathVariable("placeholderName") -Другой распространенный способ предоставить информацию серверной части — закодировать ее в URL-адресе. Затем вы можете использовать аннотацию @PathVariable("placeholderName"), чтобы перенести значение из URL-адреса в параметр метода.
Последнее, что нужно сказать
В этой статье мы узнали о многих аннотациях, которые следует знать разработчикам Java при использовании среды Spring. Мы рассмотрели самые распространенные и, возможно, самые важные аннотации — от аннотаций, которые позволяют внедрять зависимости для компонентов, до методов связывания кода для ответа на HTTP-запросы.
Я давно веду блог о технологиях, и это одна из моих технических статей/руководств. Надеюсь, вам это понравится! Вот краткое изложение всех моих оригинальных и исходных кодов работ:GitHub, и это блог, который я недавно создал:haiyong.site,контента в ней не так много,есть какие-то HTML игры,если интересно можете попробовать.Вы можете сами скопировать исходники по F12,или спросите у меня напрямую.
Если вы действительно узнали что-то новое из этой статьи, ставьте лайк, добавляйте в закладки и делитесь с друзьями. 🤗Наконец, не забудьте поставить ❤ или 📑 в поддержку.