Spring - это гораздо больше, чем просто еще одна структура DI и IOC, и вы можете научиться писать лучший код с помощью Spring.

Нет сомнений в том, что Spring Framework является одной из самых популярных сред Java и позволяет легко создавать реальные Java-приложения корпоративного уровня, предоставляя такие функции, как внедрение зависимостей и инверсия управления.

Но, честно говоря, Spring - это гораздо больше, чем просто еще один фреймворк DI и IOC. Это еще один уровень для упрощения многих Java API, таких как JDBC, JMS, Java Mail и т. Д., Путем предоставления полезного уровня абстракции.

Намного проще работать с JDBC с JdbcTempalte и другими служебными классами Spring. Они устраняют большинство трений, с которыми сталкивается Java-разработчик в отношении выполнения операторов SQL и обработки ResultSet для получения нужного им объекта Java.

Итак, когда вы изучаете среду Spring, вы не просто учитесь, как использовать но также узнайте некоторые полезные сведения о том, как лучше писать код на Java и объектно-ориентированном программировании в целом.

В этой статье я собираюсь поделиться некоторыми из лучших практик, которые Я столкнулся с этим, изучая Spring, в основном, читая мою любимую книгу Крейга Уоллса Spring in Action и свой собственный опыт работы со средой Spring.

Особенно книгу Весна в действии оказала на меня огромное влияние благодаря прекрасному стилю письма Крейга и тому, как он объясняет каждую концепцию в Spring. Если вы еще не читали ее, я настоятельно рекомендую вам прочитать эту книгу, она полностью стоит вашего времени и денег.

Вот ссылка для покупки этой книги - Весна в действии

3 лучшие практики, которые я узнал из Spring Framework

Раньше я делилась лучшими весенними курсами и лучшими весенними книгами, а сегодня я собираюсь поделиться лучшими практиками, которые я извлек из использования Spring framework за 10 лет. Эти передовые практики также помогут вам написать лучший код.

В любом случае, не теряя больше времени, вот 3 передовых метода Spring, которые я усвоил, и предлагаю каждому Java-программисту знать об этом и применять их всякий раз, когда они пишут код на Java.

1. Кодирование интерфейсов

Это старое руководство ООП, которое я впервые узнал, читая Шаблон проектирования сначала голова. Основная цель этого принципа ООП-дизайна - уменьшить связь между двумя классами и, таким образом, повысить гибкость.

Spring строго следует этому руководству по объектно-ориентированной ориентации и часто предоставляет интерфейс для использования ключевых классов, таких как JdbcOperation interface, созданный для использования JdbcTemplate. Такая практика способствует слабой связи между различными уровнями.

Еще один хороший пример - Cache interface, который используется для обеспечения кэширования. Все другие реализации кеширования, такие как EhCache, ConcurrentMapCache и NoOpCache , реализуют этот интерфейс.

Если ваш код зависит от интерфейса кэша, а не от какой-либо конкретной реализации, вы можете переключить поставщика кеша, не затрагивая другие части вашего кода. Если вам интересно узнать больше о чистом коде, то Пирамида рефакторинга (Java) - Чистый код постепенно Влодек Краковски на Udemy - отличный ресурс.

Пример кодирования интерфейса на Java

Вот простой пример кода написания интерфейса на Java с использованием Collection framework. Если вы присмотритесь, в этом примере я использовал interface вместо реализаций для объявления переменных, аргументов и возвращаемых типов методов в Java.

Такой стиль кодирования flexible легче изменить в будущем. Если вы хотите узнать больше о кодировании по принципу интерфейса, я предлагаю вам пройти Основы архитектуры программного обеспечения и шаблоны проектирования в Java, отличный курс по этой теме.

2. Отдавайте предпочтение непроверенному исключению, а не проверенному исключению.

Если вы использовали фреймворк Spring, вы могли бы заметить, что Spring отдает предпочтение непроверенному исключению, а не проверенному исключению, и лучшим примером этого является Spring JDBC.

Spring имеет богатую иерархию исключений для описания различных ошибок, которые вы может получить при подключении и извлечении данных из базы данных, но корень из них DataAccessException , который не отмечен.

Spring считает, что большинство ошибок происходит по причине, которую нельзя исправить в блоке catch, поэтому он оставляет решение поймать исключение разработчиков вместо того, чтобы принуждать их, как это делает Java. В результате получается более чистый код без пустого блока catch и меньшее количество блоков try-catch.

Это также один из лучших методов работы с ошибками и исключениями в Java. Если вас интересует эта тема, вы также можете проверить мой пост 10 лучших практик Java Exception для получения дополнительных советов, а если вам нужен курс, то Полный мастер-класс Java Тима Бучалаки и его команды отличный курс для изучения Java.

3. Использование шаблона проектирования.

Spring интенсивно использует шаблон проектирования метода шаблона для упрощения вещей. Хорошим примером этого является JdbcTemplate, который избавляет от многих проблем при использовании JDBC API. Вам нужно только определить, что требуется, а Spring позаботится обо всем остальном процессе.

Если вы не знаете, Шаблон проектирования шаблона определяет процесс или алгоритм, в котором вы не можете изменить процесс, но в в то же время вы можете настроить шаги в соответствии с вашими потребностями.

Например, при работе с JDBC вы можете использовать JdbcTemplate для выполнения запроса и получения желаемого объекта. Вам просто нужно предоставить SQL, который отличается в каждом случае, а также логику сопоставления для сопоставления строки из таблицы с объектом.

Вот хорошая диаграмма, объясняющая шаблон проектирования шаблона красиво. Вы можете видеть, что у каждого человека есть какая-то общая задача, но они выполняют разную работу, и это хорошо отражено с помощью метода Template. Все, что им нужно определить, - это их работа, которую они выполняют, определяя work() абстрактный метод.

Если вы хотите узнать больше о шаблоне дизайна, я настоятельно рекомендую вам пройти курс Шаблон дизайна в Java от Дмитрия Нестерука на Udemy. Это отличный курс для изучения современной реализации шаблонов проектирования на Java.

Помимо JdbcTemplate, вы также найдете множество других примеров шаблонов шаблонных методов в API фреймворка Spring, таких как JmsTemplate и RestTemplate, которые позволяют использовать REST API из Java-приложения.

Кстати, если вам интересно узнать больше об использовании Spring для разработки веб-сервисов RESTful, тогда REST со Spring MasterClass Евгения Парашива также подойдет для начала.



Это все о некоторых передовых методах работы с Java, которые вы можете узнать из среды Spring. Spring - отличный фреймворк, а его авторы - опытные Java-разработчики.

Вы можете многому научиться, используя Spring, а также изучая их код, решения, которые они приняли, и то, как они проектируют свои API. Spring имеет открытый исходный код, что означает, что вы также можете загружать и просматривать их исходный код.

Я знаю, что Spring - это собрание многих таких передовых практик, и есть есть чему поучиться, но я обнаружил, что эти три используются повсюду в Spring и, таким образом, оказывают огромное влияние на качество кода среды Spring.

В любом случае, если вы столкнулись с другими передовыми практиками, которые вы узнали из Spring Framework, не стесняйтесь поделиться с нами.

Другие статьи о Java и Spring, которые могут вам понравиться
Spring Frameworks MasterClass от Ранги Карнан
Как Spring MVC работает внутри Java?
10 вещей, которые Java-разработчик должен изучить в 2021 году?
10 фреймворков, которые должен изучить Java и веб-разработчик
10 основных инструментов тестирования для Java-разработчиков
10 советов, чтобы стать лучше программистом на Java в 2021 году
7 причин использовать Spring для разработки REST API на Java
10 бесплатных курсов Spring Framework для начинающих
10 расширенных курсов Spring Boot для Java-разработчиков
Почему Spring лучше всего подходит для веб-сервисов REST на Java
10 бесплатных курсов Spring Boot для Java-разработчиков
5 лучших курсов для изучения Микросервис и Spring Cloud
Мои любимые курсы по изучению архитектора программного обеспечения

Спасибо, что прочитали эту статью. Если вам понравилась эта статья, поделитесь ею со своими друзьями и коллегами. Если у вас есть какие-либо вопросы или отзывы, напишите нам

П. S. - Если вы новичок в среде Spring и ищете исчерпывающий курс по изучению Spring Framework в Интернете, я настоятельно рекомендую вам присоединиться к курсу Spring Framework 5: от новичка до гуру Джона Томспона на Udemy. Это лучший онлайн-курс для изучения весны.