Меню Рубрики

Установка spring framework eclipse

Пишем простое веб-приложение используя Spring MVC, Spring Data JPA и Hibernate

Привет, Хабр! Представляю Вашему вниманию перевод руководства «Spring MVC + Spring Data JPA + Hibernate — CRUD Example» автора Nam Ha Minh.

В этом руководстве по Java Spring вы узнаете, как настроить Spring MVC приложение для работы с Spring Data JPA, разработав простое веб-приложение, которое позволяет управлять информацией о клиентах.

По завершению этого руководства, вы сможете создать веб-приложение Java основанное на технологиях Spring MVC и Spring Data JPA, которое выглядит следующим образом:

Программы и технологии используемые в этом руководстве: Java 8, Apache Tomcat 9, MySQL Server 5.7, Eclipse IDE 4.7 (Oxygen), Spring Framework 5.1, Hibernate 5.4, Spring Data JPA 2.1.5 и Servlet 3.1.

Начнём с создания базы данных.

1. Создание базы данных

Мы будем использовать MySQL. В нашем пример мы будем работать с данными в таблице customer, которая находится в схеме с именем sales. Таблица customer имеет 4 поля: id, name, email и address:

Вы можете запустить следующий MySQL скрипт для создания схемы и таблицы:

2. Создание проекта в Eclipse

Создайте Dynamic Web Project в Eclipse, и конвертируйте его в проект Maven: для этого нажмите ПКМ по проекту, выберете Configure > Convert to Maven Project. В открывшемся диалоговом окне Create new POM введите следующую информацию:

— Group Id: net.codejava
— Artifact Id: CustomerManager

Также убедитесь, что версия JRE для проекта Java 8 или новее.

Затем, откройте pom.xml (файл Maven), чтобы настроить зависимости для этого проекта. Объявите свойства версий для Spring и Hibernate Frameworks:

Укажите зависимость для Spring Framework:

Для создания веб-приложений Spring MVC:

Для использования Spring Data JPA:

Мы используем Hibernate в качестве реализации JPA, поэтому добавим следующую зависимость:

Для того, чтобы приложение работало с MySQL, нам нужна зависимость для драйвера MySQL JDBC:

И теперь зависимости для Java Servlet, JSP и JSTL:

Создайте два Java пакета в корне проекта:
— net.codejava.config : для классов конфигурации.
— net.codejava.customer : для классов приложения.

3. Создание файла настройки JPA

Поскольку мы используем JPA, нам нужно определить свойства для подключения к базе данных в файле persistence.xml , а не в hibernate.cfg.xml . Создайте новый каталог с именем META-INF в исходной папке проекта, чтобы поместить в него файл persistence.xml :

И впишите в этот файл код представленный ниже:

Как вы можете видеть, мы указываем свойства для соединения с базой данных, такие как URL, user, password и класс JDBC драйвера. Так же обратите внимание, что имя SalesDB будет использоваться нами в коде конфигурации.

4. Создание Model Class

Создайте класс Customer , который сопоставляется с таблицей customer в базе данных следующим образом:

Как вы могли увидеть, мы используем аннотацию @Entity для сопоставления этого класса с таблицей customer (имя класса совпадает с именем таблицы). Все имена полей класса идентичны именам полей в таблице. Поле id имеет аннотации @Id и @GeneratedValue , чтобы указать, что это поле является первичным ключом и его значение генерируется автоматически.

5. Конфигурация Spring MVC и Spring Data JPA

Далее, напишем Java код для настройки Spring MVC и Spring Data JPA. Мы будем использовать конфигурацию на основе Java, так как она проще, чем XML.

Настройка Spring Dispatcher Servlet

Для использования Spring MVC в нашем приложении, нам надо зарегистрировать Spring Dispatcher Servlet при запуске приложения, написав следующий класс:

Метод onStartup() этого класса будет автоматически вызываться сервлетом при загрузке приложения. Spring Dispatcher Servlet обарабатывает все запросы cопоставляя URL «/» и ищет конфигурацию в классе WebMvcConfig , которй описан ниже.

Настройка Spring MVC

Создайте класс WebMvcConfig в пакете net.codejava.config , содержащий следующий код:

Этот класс помечен аннотацией @Configuration , сообщающей Spring, что это файл конфигурации. Аннотация @ComponentScan говорит Spring искать классы конфигурации в пакете net.codejava .

В этом классе мы создаём bean-компонент, который распознаёт представления (View), с помощью указания префикса и суффикса для этих представлений. Поэтому создайте каталог views внутри каталога WebContent/WEB-INF для хранения JSP файлов.

Здесь вы можете добавить и другие конфигурации Spring MVC.

Настройка Spring Data JPA

Для работы с Spring Data JPA нам надо создать два beans-компонента: EntityManagerFactory и JpaTransactionManager . Поэтому создадим другой конфигурационный класс JpaConfig :

Здесь мы используем две важные аннотации:

  • @EnableJpaRepositories : сообщает Spring Data JPA, что нужно искать классы репозитория в указанном пакете (net.codejava) для внедрения соответсвующего кода во время выполнения.
  • @EnableTransactionManagement : сообщает Spring Data JPA, чтобы тот генерировал код для управления транзакциями во время выполнения.

В этом классе первый метод создаёт экземпляр EntityManagerFactory для управления Persistence Unit нашей SalesDB (это имя указано выше в persistence.xml ).

Последний метод создаёт экземпляр JpaTransactionManager для EntityManagerFactory , созданный методом ранее.

Это минимальная необходимая конфигурация для использования Spring Data JPA.

Создание Repository Interface

Создайте интерфейс CustomerRepository , который расширяет определенный в Spring Data JPA интерфейс CrudRepository :

Это почти весь код, который нам нужен для доступа к данным. Просто, согласитесь? С Spring Data JPA нам не нужно писать DAO (Java Data Acces Object) код. Просто объявите интерфейс, расширяющий интерфейс CrudRepository , в котором определены такие методы CRUD как: save() , findAll() , findById() , deleteById() и т.д. Во время выполнения Spring Data JPA автоматически сгенерирует код.

Обратите внимание, что мы должны указать тип класса модели и тип поля первичного ключа при расширении CrudRepository : CrudRepository .

7. Создание Service Class

Затем, создайте класс CustomerService :

Обратите внимание на аннотацию @Transactional , которой помечен наш класс. Это означает, что все методы этого класса будут перехвачены Spring Data JPA для управления транзакциями. И экземпляр интерфейса CustomerRepository будет внедрён в этот класс:

Читайте также:  Установка детского кресла бебетон

Это похоже на магию, поскольку мы не пишем DAO код, но Spring Data JPA автоматически создаст реализацию во время выполнения.

Как вы можете видеть, все методы в данном классе предназначены для операций CRUD. Он просто делегирует весь вызов объекту CustomerRepository . Вам может показаться этот класс избыточным, но он необходим, для отделения уровня business/service от уровня repository/DAO.

8. Создание контроллера Spring MVC

Создайте класс CustomerContoroller для обработки всех запросов от клиентов:

Это типичный класс Spring MVC Controller, который аннотирован с помощью @Controller . Вы можете увидеть, что экземпляр CustomerService внедряется в этот объект с помощью аннотации @Autowired .

Мы напишем методы обработки в следующих секциях.

9. Добавление списка клиентов

На домашней странице нашего приложения будут отображаться все клиенты, для этого добавьте соответствующий обрабатывающий метод в наш CustomerController класс:

Домашняя страница просмотра ( index.jsp ) должна выглядеть следующим образом:

Теперь вы можете запустить веб-приложение. Добавьте несколько строк в таблицу customer и перейдите по адресу http://localhost:8080/CustomerManager/ , и вы увидите что-то похожее:

10. Добавление нового пользователя

Для того, чтобы реализовать функцию создания нового клиента, нам нужно написать два метода-обработчика. И первый из них будет отображать новую форму для добавления клиента:

источник

Руководство Spring Boot для начинающих

View more Tutorials:

1- Что такое Spring Boot?

Spring Boot является проектом на уровне IO Execution (уровень выполнения) IO Spring Framework

Spring Boot это следуюший шаг Spring, чтобы сделать его легче в настройке и развитии приложений. С Spring Boot конфигурации Spring минимизируется максимально. Spring Boot поддерживает встроенный контейнер (embedded containers), который позволяет веб-приложениям работать независимо и без необходимости применения на Web Server

Вы можете использовать spring Boot чтобы создать Java Web приложение, работающее через команду line » Java -jar» или экспортировать War файл для применения на Web Server как обычно. Spring Boot дает вам «CLI Tool» для запуска сценариев Spring (spring scripts)

Далее перечислены преимущества Spring Boot:

  1. Легко используется для развития приложения на основе Spring с Java или Groovy Spring
  2. Минимизирует время развития и поднимает производительность
  3. Избегает написание многих кодов прототипа (boilerplate), Annotations и конфигурации XML
  4. Легко позволяет вам взаимодействовать с приложениями Spring Boot c экологическими системами Spring как Spring JDBC, Spring ORM, Spring Data, Spring Security и т.д
  5. Следует подходу «Принципы конфигурации по умолчанию» чтобы минимизировать время и старания, вложенные для развития приложений.
  6. Обеспечивает встроенный Server (Embedded HTTP servers) как Tomcat, Jetty . чтобы быстро и легко развивать и тестировать веб-приложения
  7. Предоставляет инструменты CLI (Command Line Interface) для развития и тестирования приложений Spring Boot (Java или Groovy) из командных строк (command prompt) очень легко и быстро
  8. Обеспечивает много плагинов для быстрого развития и тестирования приложения Spring Boot используя инструменты Build, как Maven и Gradle
  9. Предлагает много плагинов для легкой работы с контейнерами встроенными базами данных (embedded database) и базами данных хранящиеся в памяти (in- memory Databases).

2- Цель статьи

Eclipse 4.7 (Oxygen)

Spring Boot 2.x

Spring Tool Suite (STS)

Для создания приложений Spring Boot на IDE Eclipse необходимо установить Spring Tool Suite, который является расширенным плагином поддерживающий программирование Spring на Eclipse.

Если вы еще не установили, смотрите инструкции здесь:

источник

Руководство Spring Boot для начинающих

View more Tutorials:

1- Что такое Spring Boot?

Spring Boot является проектом на уровне IO Execution (уровень выполнения) IO Spring Framework

Spring Boot это следуюший шаг Spring, чтобы сделать его легче в настройке и развитии приложений. С Spring Boot конфигурации Spring минимизируется максимально. Spring Boot поддерживает встроенный контейнер (embedded containers), который позволяет веб-приложениям работать независимо и без необходимости применения на Web Server

Вы можете использовать spring Boot чтобы создать Java Web приложение, работающее через команду line » Java -jar» или экспортировать War файл для применения на Web Server как обычно. Spring Boot дает вам «CLI Tool» для запуска сценариев Spring (spring scripts)

Далее перечислены преимущества Spring Boot:

  1. Легко используется для развития приложения на основе Spring с Java или Groovy Spring
  2. Минимизирует время развития и поднимает производительность
  3. Избегает написание многих кодов прототипа (boilerplate), Annotations и конфигурации XML
  4. Легко позволяет вам взаимодействовать с приложениями Spring Boot c экологическими системами Spring как Spring JDBC, Spring ORM, Spring Data, Spring Security и т.д
  5. Следует подходу «Принципы конфигурации по умолчанию» чтобы минимизировать время и старания, вложенные для развития приложений.
  6. Обеспечивает встроенный Server (Embedded HTTP servers) как Tomcat, Jetty . чтобы быстро и легко развивать и тестировать веб-приложения
  7. Предоставляет инструменты CLI (Command Line Interface) для развития и тестирования приложений Spring Boot (Java или Groovy) из командных строк (command prompt) очень легко и быстро
  8. Обеспечивает много плагинов для быстрого развития и тестирования приложения Spring Boot используя инструменты Build, как Maven и Gradle
  9. Предлагает много плагинов для легкой работы с контейнерами встроенными базами данных (embedded database) и базами данных хранящиеся в памяти (in- memory Databases).

2- Цель статьи

Eclipse 4.7 (Oxygen)

Spring Boot 2.x

Spring Tool Suite (STS)

Для создания приложений Spring Boot на IDE Eclipse необходимо установить Spring Tool Suite, который является расширенным плагином поддерживающий программирование Spring на Eclipse.

Если вы еще не установили, смотрите инструкции здесь:

Читайте также:  Установки для приема бетона

источник

Spring — Environment Setup

This chapter will guide you on how to prepare a development environment to start your work with Spring Framework. It will also teach you how to set up JDK, Tomcat and Eclipse on your machine before you set up Spring Framework −

Step 1 — Setup Java Development Kit (JDK)

You can download the latest version of SDK from Oracle’s Java site − Java SE Downloads. You will find instructions for installing JDK in downloaded files, follow the given instructions to install and configure the setup. Finally set PATH and JAVA_HOME environment variables to refer to the directory that contains java and javac, typically java_install_dir/bin and java_install_dir respectively.

If you are running Windows and have installed the JDK in C:\jdk1.6.0_15, you would have to put the following line in your C:\autoexec.bat file.

Alternatively, on Windows NT/2000/XP, you will have to right-click on My Computer, select Properties → Advanced → Environment Variables. Then, you will have to update the PATH value and click the OK button.

On Unix (Solaris, Linux, etc.), if the SDK is installed in /usr/local/jdk1.6.0_15 and you use the C shell, you will have to put the following into your .cshrc file.

Alternatively, if you use an Integrated Development Environment (IDE) like Borland JBuilder, Eclipse, IntelliJ IDEA, or Sun ONE Studio, you will have to compile and run a simple program to confirm that the IDE knows where you have installed Java. Otherwise, you will have to carry out a proper setup as given in the document of the IDE.

Step 2 — Install Apache Common Logging API

You can download the latest version of Apache Commons Logging API from https://commons.apache.org/logging/. Once you download the installation, unpack the binary distribution into a convenient location. For example, in C:\commons-logging-1.1.1 on Windows, or /usr/local/commons-logging-1.1.1 on Linux/Unix. This directory will have the following jar files and other supporting documents, etc.

Make sure you set your CLASSPATH variable on this directory properly otherwise you will face a problem while running your application.

Step 3 — Setup Eclipse IDE

All the examples in this tutorial have been written using Eclipse IDE. So we would suggest you should have the latest version of Eclipse installed on your machine.

To install Eclipse IDE, download the latest Eclipse binaries from https://www.eclipse.org/downloads/. Once you download the installation, unpack the binary distribution into a convenient location. For example, in C:\eclipse on Windows, or /usr/local/eclipse on Linux/Unix and finally set PATH variable appropriately.

Eclipse can be started by executing the following commands on Windows machine, or you can simply double-click on eclipse.exe

Eclipse can be started by executing the following commands on Unix (Solaris, Linux, etc.) machine −

After a successful startup, if everything is fine then it should display the following result −

Step 4 — Setup Spring Framework Libraries

Now if everything is fine, then you can proceed to set up your Spring framework. Following are the simple steps to download and install the framework on your machine.

Make a choice whether you want to install Spring on Windows or Unix, and then proceed to the next step to download .zip file for Windows and .tz file for Unix.

Download the latest version of Spring framework binaries from https://repo.spring.io/release/org/springframework/spring.

At the time of developing this tutorial, spring-framework-4.1.6.RELEASE-dist.zip was downloaded on Windows machine. After the downloaded file was unzipped, it gives the following directory structure inside E:\spring.

You will find all the Spring libraries in the directory E:\spring\libs. Make sure you set your CLASSPATH variable on this directory properly otherwise you will face a problem while running your application. If you are using Eclipse, then it is not required to set CLASSPATH because all the setting will be done through Eclipse.

Once you are done with this last step, you are ready to proceed to your first Spring Example in the next chapter.

источник

Топ-10 необходимых Eclipse плагинов для Java разработчика

Недавно наткнулся на подборку полезных Eclipse плагинов и решил поделиться этим здесь. Предыдущий перевод в моем профиле зашел, надеюсь, и этот пост придется полезным. Кому интересно — добро пожаловать под кат.

Нет никаких сомнений, что среда разработки Eclipse является одной из самых популярных для разработки на Java. Тот факт, что в Eclipse доступно много плагинов, и делает его отличным инструментом. Существуют сотни Eclipse плагинов для различных типов задач и интеграции с другими необходимыми тулами, например: плагины для загрузки кода с GitHub, SVN, CVS и так далее.

Есть специальные плагины для разработки на Java, разработки на Python, создания Java приложений на Spring, а также Android приложений в самом Eclipse. Мне удавалось увеличить производительность, всего лишь установив подходящие плагины.

Например, установив плагин EGit, вы можете управлять своим Git-репозиторием прямо из Eclipse. Вам не понадобится никакой другой Git клиент. Точно так же, добавив Spring Tools, вы можете облегчить разработку приложений на Spring и Spring-Boot.

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

Читайте также:  Установка лобового стекла фиеста

Мне говорили, что среди огромного количества плагинов найти правильный — сложно. Но Eclipse MarketPlace уже решил эту проблему: теперь искать Eclipse-плагины можно быстро и легко, просматривая счетчик загрузок, и соответственно, популярность. К тому же, это можно сделать в самой среде разработки Eclipse.

На мой взгляд, разработчики не используют плагины Eclipse из-за недостаточной осведомленности о них. Очевидно, вы не можете в полной мере использовать что-то, пока не обладаете информацией об этом. Самое интересное, что недостаточная осведомленность наблюдается не только у начинающих Java разработчиков, но и у “сеньоров”, которые достигли некого потолка в обучении.

Именно поэтому я решил поделиться одними из самых необходимых Eclipse плагинов для Java разработчиков, которые включают в себя плагины для систем управления версиями (таких как Git и SVN), плагины для сборщиков (таких как Maven и Gradle), и плагины для фреймворков (таких как Spring и Android).

1. EGit, интеграция Git для Eclipse

На сегодняшний день, это, пожалуй, самый необходимый плагин для Java разработчика. Он позволяет загружать код из GitHub и обеспечивает интеграцию Git для Eclipse. Этот плагин также делает поиск и выполнение запросов к истории быстрым и универсальным. Короче говоря, EGit — это must-have для разработки на Java.

2. Spring Tools (AKA Spring IDE или Spring Tool Suite)

Нет никаких сомнений в том, что Spring является самым популярным Java фреймворком, а Spring Tools упрощает создание проектов на Spring и Spring Boot в Eclipse. Используя STS, вы можете быстро создавать проекты на Spring Boot, используя простую интеграцию start.spring.io.

Он также поддерживает разработку приложений с использованием Spring Java-Config, расширенное автодополнение кода, content-assist, валидацию и поддержку quick-fix для приложений на Spring. Он идеально подходит для разработки микросервисов с использованием Spring, поскольку позволяет интегрировать IDE для Cloud Foundry, включая отладку в облаке.

3. Интеграция Maven для Eclipse (M2E)

Плагин M2E или плагин Maven Integration for Eclipse — это еще один популярный плагин Eclipse, необходимый для разработки на Java. Он обеспечивает комплексную интеграцию Maven для Eclipse.

Вы можете использовать M2E для управления как простыми, так и мульти-модульными проектами Maven, выполнять сборки Maven через интерфейс Eclipse и взаимодействовать с репозиториями Maven.

Кроме того, некоторые плагины зависят от того, какую версию Eclipse вы используете: существует отдельный плагин для Juno, Luna и так далее.

4. Subclipse

Это еще один плагин для управления версиями, который позволяет загружать код из SVN и выполнять все операции, связанные с SVN, из самого Eclipse. Он разработан и поддерживается разработчиками Subversion. Плагин постоянно апдейтится согласно последним фичам и релизам Subversion. Если вы работаете над Java-проектом в SVN, то этот плагин обязателен для вас.

5. Eclipse Color Theme

У всех разработчиков разные вкусы. Некоторым разработчикам нравится старая уродливая цветовая тема Eclipse, другим нравятся темные темы, как у Vim и IntelliJ IDEA.
Eclipse Color Theme позволяет удобно переключать цветовые темы без всяких побочных эффектов. Если вы хотите иметь возможность менять цветовые темы или работать сразу на нескольких языках программирования — этот плагин может сделать вас счастливее.

6. JBoss Tools

JBoss Tools — это комплексный проект для набора Eclipse-плагинов, который включает поддержку JBoss, а также смежных технологий, таких как Hibernate, JBoss AS / WildFly, CDI, OpenShift, Apache Camel, Red Hat JBoss Fuse, Docker, JSF, (X) HTML, Maven, и другие.

7. TestNG для Eclipse

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

Плагин также содержит несколько шаблонов для написания тестов.

8. Android Development Tools для Eclipse (ADT)

Android Development Tools (ADT) — это плагин для Eclipse IDE, разработанный, чтобы обеспечить мощную интегрированную среду для разработки Android приложений.

ADT расширяет возможности Eclipse, позволяя быстро создавать новые проекты Android, создавать UI приложения, устранять ошибки в приложении с помощью инструментов Android SDK, и экспортировать подписи для пакетов приложения (APK) и их распространения.

9. EclEmma

EclEmma — это бесплатный инструмент для покрытия Java кода для Eclipse, доступный в соответствии с Eclipse Public License. Он обеспечивает анализ покрытия кода непосредственно в рабочей среде Eclipse. При правильном использовании помогает улучшить качество кода, ускорив цикл быстрой разработки/тестирования.

10. JRebel для Eclipse

JRebel — это инструмент, который позволяет разработчикам “на лету” перезагружать классы и другие ресурсы, которые были изменены с момента развёртывания приложения. Он пропускает цикл повторной сборки, перезапуска и повторного развертывания, которые типичны для разработки на Java. JRebel позволяет разработчикам выполнить больше работы за то же время и не распыляться во время написания кода.

JRebel поддерживает большинство существующих корпоративных Java-стеков и легко устанавливается в существующие среды разработки.

Все перечисленные Eclipse-плагины — одни из самых важных для Java разработчиков. Большинство из них включено во все популярные списки на Eclipse MarketPlace. Эти плагины широко распространены и, возможно, вы уже используете их. Если вдруг вы еще не затестили какой-либо из них — предлагаю попробовать.

источник