Меню Рубрики

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

Создаем Spring Boot Hello World приложение в Intellij > Николай Разилов / 15.05.2018 31.05.2018 / Java

Самый простой способ создать Spring Boot приложение, на мой взгляд — это воспользоваться официальным сайтом Spring.

Открываем Intellij IDEA и создаем новый Maven проект:

После создания проекта идем на сайт Spring в раздеп Guides:

Далее в строке поиска пишем MVC и получаем такой результат:

Заходим по этой ссылке и делаем все, что там написано (далее по тексту).

Конфигурация pom.xml для Spring Boot

Чтобы сконфигурировать Spring Boot проект нам надо прописать build script:

Создаем файлы проекта Spring Boot

Далее по инструкции создаем пакет hello и в нем класс GreetingController:

Содержимой класса выглядит следующим образом:

Далее в ресурсах создаем папку templates и в ней файл greeting.html, имеющий следующее содержимое:

Далее в пакете hello создадим класс Application:

Далее создаем папку static в ресурсах и в ней создаем файл index.html:

Запуск Spring Boot приложения

Чтобы запустить приложение, надо перейти в класс Application и выполнить действия, показанные на скриншоте:

Наше приложение доступно по адресу http://127.0.0.1:8080

Создание WAR архива Spring Boot приложения и deploy на Apache Tomcat

Чтобы задеплоить написанное приложение на tomcat необходимо выполнить следующие действия:

Класс Application должен приобрести следующий вид:

после тега version в начале файла.

Далее создаем war архив (View/Tool Windows/Maven Projects):

В проекте создалась папка target и в ней файл war.

Останавливаем проект и запускаем Apache Tomcat.

Заходим в Application List и деплоим наш файл, предварительно переименовав его, как вам удобно:

источник

Spring

Configure the Spring facet

To use Spring in your project, you need the Spring facet that comprises libraries and UI elements for configuring Spring-specific settings.

IntelliJ >automatically detects Spring configuration in your code. The IDE will inform you if the project requires any adjustements and will suggest the necessary actions. So normally, you need no manual configuration.

However, if IntelliJ IDEA could not detect configuration files automatically, you can add the facet manually:

Manually add Spring support to existing modules

Press Ctrl+Shift+Alt+S to open the Project Structure dialog.

From the left-hand list, select Modules .

Select the necessary module and click the button in the middle section.

Select Spring from the list.

You might need to set up a library when adding the facet. In this case, click Fix at the bottom of the window next to a warning message.

If you already have a Spring library, you can use it as is, or create a new library using JAR files on your computer. In this case, select the Use library option.

If you do not have a library, select Download .

If the Spring facet is configured correctly, you will see Spring gutter icons marking each component, bean, and so on. To configure gutter icons, press Ctrl+Alt+S and go to Editor | General | Gutter Icons .

Create an application context

Spring application context is a way of grouping configuration files in IntelliJ IDEA. When you create a context, you let IntelliJ IDEA understand relationship between configuration files included into this context.

You can create as many application contexts as you need; any configuration file may be included in more than one context.

Press Ctrl+Shift+Alt+S and select Facets .

Select the Spring facet from the list and click the button in the right-hand section.

In the New Application Context dialog, enter a name, and select files you want to include in the context.

In some cases, you will not need to configure a context. For example, Spring MVC web applications have strict rules about their configuration. Spring support in IntelliJ >Web facet.

Configure a parent context

IntelliJ IDEA allows you to configure a parent-child relationship between contexts. Beans from a parent context are visible to beans in child contexts, but not vice versa. Therefore, beans from child contexts can use configuration from the parent context.

For example, Spring MVC applications usually have two contexts. One context belongs to web layer beans, another context is used for services and repositories. The web layer context will be a child context in this case, as you need to inject services into controllers, not other way around.

To configure a parent context, use the New Application Context dialog.

The Multiple Context panel shows up on top of the editor for files included into two or more application contexts. You can use this panel to select another active context, for example, if you want to run your application with different configuration, and change highlighting.

To disable the panel, click the

Click Change Profiles on the panel.

Select the component to which you want to map the profile. This can be either an entire project, the current module, or context.

Select the profile to which you want to map this component.

If you want to h >Show Profiles Panel checkbox.

источник

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

This guide walks you through using IntelliJ IDEA to build one of the Getting Started guides.

What you’ll build

You’ll pick a Spring guide and import it into IntelliJ IDEA. Then you can read the guide, work on the code, and run the project.

What you’ll need

Installing IntelliJ >

If you don’t have IntelliJ IDEA (Ultimate Edition) installed yet, visit the link up above. From there, you can download a copy for your platform. To install it simply unpack the downloaded archive.

When you’re done, go ahead and launch IntelliJ IDEA.

Importing a Getting Started gu >

To import an existing project you need some code, so clone or copy one of the Getting Started guides, e.g. the REST Service guide:

With IntelliJ IDEA up and running, click Import Project on the Welcome Screen, or File | Open on the main menu:

In the pop-up dialog make sure to select either Maven’s pom.xml or Gradle’s build.gradle file under the complete folder:

IntelliJ IDEA will create a project with all the code from the guide ready to run.

Creating a Project from Scratch

In case you’d like to start with an empty project and copy-and-paste your way through the guide, create a new Maven or Gradle project in the Project Wizard:

See Also

The following guide may also be helpful:

Get ahead

VMware offers training and certification to turbo-charge your progress.

Get support

Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Upcoming events

The best Cloud-Native Java content brought directly to you.

источник

Как включить поддержку spring в IntelliJ Community Edition 2016.1.3

У меня есть очень хорошие базовые знания чистой Java. Пока у меня нет XML-конфигурации и инструментов управления проектами, я очень хорош.

Что меня действительно смутило, так это инструменты управления проектами, например: Maven, Gradle.

Я изучаю Spring, и это меня так смущает, поскольку в нем много XML файлов, и нет четкого объяснения этому.

Я изучаю Spring из этого набора видеоуроков, лекция 6
Spring «Привет, мир».

Я не смог сделать мир приветствия Spring, потому что для настройки bean-компонентов (Java-объект) требуется файл xxxxx.xml. Чтобы сгенерировать XML файлы, мне нужно сгенерировать XML файл с помощью плагина на IntelliJ 2016.

Вопрос в том, что я не могу найти плагин для создания XML файла для компонента, следуя этому официальному руководству. Нет такого плагина под названием «Spring Support».

Что я должен сделать, чтобы генерировать beans.xml? (Файл для управления бобами для Spring)

5 ответов

5 Решение Naresh Kumar [2016-06-29 02:12:00]

Давайте возьмем вещи по одному:

Ваше понимание проблемы создает инструменты управления, такие как Maven и Gradle. Попробуйте эти ссылки на учебные пособия: Maven в 5 минутах, Gradle очень авансовый инструмент автоматизации сборки с непрерывными функциями интеграции, вы можете найти хорошее сравнение между Gradle и Maven здесь.

Если вы не знаете, что такое Spring, попробуйте эту книгу: Spring in Action, 3-е издание (также доступно 4-е издание, я рекомендую 3-е издание, поскольку вы сможете связывать XML с аннотациями).

Вам не нужно никакого инструмента для генерации файлов XML. Скопируйте пример файла конфигурации Spring из Интернета, удалите ненужные элементы и напишите свои собственные bean-компоненты.

Вы не можете включить поддержку Spring в IntelliJ Community Edition, она доступна только в платной версии (Ultimate).
Тем не менее, вы можете создать XML файл вручную, и версия CE также поддерживает его (немного).
Чтобы работать с Spring или J2EE, вы должны ознакомиться с инструментами сборки, такими как Maven, Gradle (или Ant в некоторых особых случаях). Концепция проста, и вы можете легко получить ее с официального сайта (https://maven.apache.org/ — http://gradle.org/).
Для Spring, если вы не знакомы с созданием XML файла, вы можете вместо этого использовать конфигурацию Java или перейти на использование Spring-boot, чтобы забыть этот файл конфигурации (почти).
Однако, во-первых, я думаю, что вы должны получить основную концепцию Spring и попытаться хорошо работать с конфигурацией XML файлов. Это будет полезно в будущем, когда вы будете работать с ним глубоко.

Плагин поддержки Spring — это функция IntelliJ IDEA Ultimate, которая является коммерческой IDE. Он недоступен в бесплатном выпуске Community Edition.

Вам не нужен плагин для создания файла beans.xml; вы можете записать его вручную в редакторе исходного кода.

Я знаю, что вы спрашиваете об IntelliJ Idea, но так как это коммерческий инструмент, вы должны заплатить, чтобы позволить вам использовать его плагины. Другой способ — использовать Spring Tools for Eclipse, который является отличной средой для разработки приложений Spring. Но вы должны быть знакомы с затмением. Его можно скачать с: Spring Tools 4 для Eclipse

Для поддержки Spring, вы пробовали плагин «Spring Assistant»?

Хорошая часть это у него есть активное развитие.

источник

Spring Boot: от начала до продакшена


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

Читайте также:  Установка подъемника пгн 2

Не будем тянуть долгими прелюдиями о философии java и spring’а, и сразу приступим к делу.

Для начала нам необходимо создать каркас приложения, внедрив туда весь необходимый зоопарк технологий(как минимум Spring, JPA, JDBC). До появления spring boot нужно было потратить на это немало времени, если конечно у вас не было рабочей заготовки в закромах кода. И именно сложность создания подобного каркаса, как мне кажется, останавливает многих от разработки небольших веб-проектов на java. Конечно, когда-то был хромой spring roo, который мог создать подобный каркас в ущерб производительности(привет аспектам), но даже с ним количество и сложность конфигурационных файлов заставляли долго медитировать над ними неподготовленного разработчика. Однако теперь с приходом Boot и Spring 4 жизнь стала немного проще и количество конфигурационных файлов заметно уменьшилось.

Если у вас есть Intellij Idea 14.1, то проблем с каркасом возникнуть вообще не должно, можно все сделать через специальный мастер создания проектов(File-New-Project. -Spring Initializr). Далее останется только указать названия проектов, выбрать интересующие нас технологии(Web, JDBC, JPA, PostgreSQL) и создать проект.

Если же у вас нет данной IDE, то скачиваем Spring Boot CLI, следуем инструкции в INSTALL.txt. Нужно задать системную переменную SPRING_HOME(путь к папке со Spring Boot, не к папке bin!) и добавить путь к SPRING_HOME/bin в системную переменную PATH на windows.

Итак, консоль спринга настроили, теперь самое время создать проект. Сделать это можно следующей командой:

UPDATE
Кроме того, как написали в комментариях, существует еще веб-конструктор: start.spring.io

Далее импортируем получившийся каркас в любимую IDE и начинаем его модифицировать под наши нужды.

Для начала добавим в каталог src/main папку webapps. Все веб-ресурсы мы будем создавать в ней, а не в папке resources, как хочет того спринг. Дело в том, что если мы будем создавать файлы в папке resources, то тогда мы лишимся возможности видеть изменения, сделанные в наших веб-ресурсах, без перезагрузки сервера. А это может быть неприятно, когда ради того, чтобы посмотреть изменившийся текст на веб-странице приходится перезапускать веб-сервер.

Теперь в папке webapps создаем файл index.html и папки css, js, font, images, в которые будем класть соответствующие ресурсы.

Для примера сделаем самый простой каркас index.html:

Изменим файл pom.xml
Должно получиться что-то подобное:

Из pom-файла мы можем увидеть следующее:
Мы используем java 8(самое время ее попробовать). Наш класс приложения называется com.yourcompany.Application(не забудьте переименовать стандартно сгенерированный класс, который может называться к примеру DemoApplication).

Мы используем postgresql 9.4(тоже неплохо бы установить его локально на свою машину). Connection pool для взаимодействия с базой данных мы берем самый модный и производительный (HikariCP). Кроме того, мы используем специальный плагин, который, когда мы будем генерировать итоговый jar’ник, перенесет все наши данные из webapp в resources/static, как того хочет spring boot. В противном случае вы не сможете увидеть все те веб-страницы, что создадите в папке webapps, когда запустите jar-ник.

Добавим пакет config и создадим в нем класс JpaConfig:

Кроме того, добавим в файл application.properties следующие строчки:

И наконец в Application.java меняем строку инициализации на следующую:

Тем самым мы настроили подключение к СУБД PostgreSQL.

Не забываем создать саму базу данных и простенькую таблицу в ней. Сделать это удобнее всего через PgAdmin.
Создав в ней пустую базу yourapp_data, выполняем скрипт создания таблицы:

Теперь настало время немного заняться начинкой нашего проекта. А именно добавить какую-нибудь сущность БД и научиться с ней работать, получая с клиента данные для ее формирования и отправляя клиенту же данные об уже созданных сущностях.

Создаем пакеты controller, entity, repository, service, utils.

В пакете entity создаем интерфейс:

Аннотации JPA и Hibernate в данном примере использовать не будем, так как эти технологии сильно замедляют работу(запрос может выполняться в 10 раз медленнее, чем на чистом jdbc), а так как у нас нет сильно сложных сущностей, для которых реально может потребоваться ORM, то воспользуемся обычным jdbcTemplate.

Создаем интерфейс репозитория:

Вместо уже упомянутого jdbcTemplate, мы, как видите, используем JdbcOperations, который является его интерфейсом. Нам приходится использовать везде интерфейсы, отделяя их от реализации, так как, во-первых это стильно, модно, молодежно, а во-вторых, spring в нашем случае использует стандартный jdk’шный Proxy для наших объектов, поэтому напрямую инжектить реализацию не получиться, пока мы не введем полноценные аспекты и AspectJ compile-time weaving. В нашем случае этого и не требуется, чтобы не перегружать приложение.

Осталось уже немного. Создаем наш сервис(мы же хорошие разработчики и должны отделить бизнес-логику от логики работы с СУБД?).

Отлично. Теперь создаем пару вспомогательных классов, необходимых для реализации контроллера:

Это наша реализация Exception’а. Может пригодиться в будущем, хотя и не обязательна, но на нее завязан следующий класс:

Если мы словили такую ошибку в нашем контроллере, то она будет обработана дополнительно в этом методе.
Наконец напишем небольшой классик, который будет формировать структуру данных для передачи на клиент:

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

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

Итак, основная часть серверного кода написана, осталось проверить его работу на клиенте. Для этого нужно доработать наш файл index.html и заодно добавить библиотеку jquery в каталог js.
index.html:

Да, UI получился не бог весть каким красивым, но зато с его помощью мы можем проверить работу приложения.
Запустим наш проект. В Intellij Idea это можно сделать через специальную конфигурацию запуска(Spring Boot).
Если все сделано верно, то по адресу localhost:8080 вы сможете увидеть заголовок Hello World, строку ввода и две кнопки. Попробуйте ввести что-нибудь в строку ввода и нажать на кнопку POST. Если после этого вы увидите аналогичный текст ниже поля ввода, то все работает как надо. Теперь останется модифицировать проект под свои нужды, добавить модный UI(например materializecss.com) и творить разумное, доброе, вечное.

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

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

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

Этот сервис позволит бесплатно зарегистрировать домен в зонах .tk, .ml, .ga, .cf, .gq
Да, не самые лучшие зоны, но:

Далее займемся сервером, где все это будет крутиться. Так как проект у нас небольшой, то и сервер нам сгодится небольшой. В идеале хватит VPS. Достать его можно в разных местах, например www.digitalocean.com
Итак, регистрируемся, создаем самый простой дроплет и ставим на него ubuntu (в моем случае это ubuntu 12.04, дальнейшие инструкции буду описывать для этой системы, но на остальных будет примерно то же)

Отлично, у нас есть сервер, пора залить на него наш проект.

Для начала собираем проект maven’ом. Сделать это можно через IDE или же на худой конец зайдя в корневую директорию проекта и введя команду mvn clean install(путь к мавену должен быть прописан в системой переменной path на Windows). После выполнения команды собранный jar’ник помещается в локальный репозиторий (по умолчанию именуемый .m2), откуда его можно стянуть для отправки на сервер.

Для передачи файла на сервер используем WinSCP, если вы работаете под Windows.
Далее заходим на наш сервер, используя putty на Windows или ssh на Linux.
Переходим в директорию, куда был скопирован наш jar-ник и пробуем его запустить командой java -jar youapp.jar

Скорей всего, не получилось. А все почему? Наш проект был создан на java 8, а какая java стоит на сервере, можно узнать с помощью команды java -version. И скорей всего это либо 6, либо 7.

Но не будем унывать, поставим себе новую версию:

Теперь настала очередь postgres’а. До этого мы использовали локальную версию на машине разработчика, теперь пришло время поставить СУБД на сервер.

Для этого сначала выполняем магическую последовательность команд:

Далее выполняем команду входа в psql:

И выходим c помощью команды \q

Редактируем файл /etc/postgresql/9.4/main/postgresql.conf, изменив строчку #listen_addresses = ‘localhost’ на listen_addresses = ‘*’
Тем самым мы сможем подключаться к postgresql извне с помощью pgadmin’а. Хотя, конечно, желательно этого избежать в целях безопасности, и когда все будет настроено и отлажено, отключить эту возможность.

Затем редактируем файл /etc/postgresql/9.4/main/pg_hba.conf
Должны быть добавлены две новых строчки и изменена одна строка для 127.0.0.1 следующим образом:

Я намеренно изменил md5 на trust, так как лично у меня были проблемы с запуском проекта, тем самым отключив проверку пароля для заданных адресов. Возможно у вас их не будет.

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

Перезапускаем postgres: и проверяем его работу.

Всё, с настройкой postgres’а закончили, что у нас дальше по сценарию?

Как уже было отмечено ранее, для запуска собранного jar’ника вполне достаточно команды java -jar youapp.jar
Однако при подобном запуске для того, чтобы зайти на сайт извне, придется прописывать порт(по умолчанию 8080). Чтобы пользователи смогли зайти на сайт, просто введя его адрес, то нам потребуется прокси сервер. В качестве него можно взять nginx, который нужно будет предварительно настроить.

В моем случае корневой директорией nginx была /etc/nginx. Там нам в первую очередь потребуется изменить файл /sites_available/default следующим образом:

Однако и это еще не все. Необходимо также модифицировать наш проект, чтобы он поддерживал настроенный нами прокси. Благо сделать это не трудно, достаточно лишь в application.properties добавить строки(не забудьте залить новую версию с изменениями):

Теперь можно запустить nginx командой service nginx start и затем попробовать запустить наш проект. Он будет доступен по ссылке сайта, либо же, если вы еще не приобрели домен, то по его ip-адресу, без указания порта.

Остался еще один небольшой штрих. Немного неудобно всегда стартовать проект тем способом, который был описан выше. Неплохо бы, чтобы при старте проекта консоль ввода на сервере освобождалась, приложение не закрывалось бы после выхода из ssh-сессии и чтобы где-нибудь велись логи приложения. Сделать это можно с помощью команды nohup. Предварительно создаем bash-скрипт, называя его script.sh:

Прописываем ему право на исполнение:

Чтобы остановить приложение, можно либо воспользоваться командой pkill -9 java(при условии, что это единственное java-приложение, запущенное на сервере), либо с помощью утилиты htop, выделив этот процесс, нажав кнопку F9, выбрав слева в списке SIGKILL и нажав enter. На заметку: иногда не срабатывает с первого раза и процедуру приходится повторять.

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

источник