Статьи

Java Code Geeks Andygene Web Archetype

Всем привет,

Мы рады сообщить, что вышел первый релиз набора архетипов maven !!! Целью этого набора является предоставление шаблонов проектов, которые могут удовлетворить различные потребности разработки. Вы можете найти дорожную карту JCG в конце этого поста.

Этот первый выпуск призван предоставить шаблон проекта — архитектуру для веб-приложений. Имя архетипа — jcg-andygene-archetype, и оно находится в следующем месте: https://github.com/javacodegeeks/jcg-andygene-web/

Лицензия для этого набора архетипов — Apache License . Разработчики могут изменить это.

Архетип Особенности

Рекомендуемое описание

Spring MVC : среда Spring MVC Spring разработана на основе DispatcherServlet, который отправляет запросы обработчикам, с настраиваемыми сопоставлениями обработчиков, разрешением представления, языковым стандартом и разрешением темы, а также поддержкой загрузки файлов.

Spring Security : Spring Security — это мощная и настраиваемая среда аутентификации и контроля доступа. Это де-факто стандарт для защиты приложений на базе Spring

Dojo : библиотека Javascript для классных пользовательских интерфейсов.

JasperReports : Мощный инструмент отчетности. Он может генерировать отчеты в различном наборе форматов.

Слюни : Мощная платформа бизнес-логики. Drools использует алгоритм Rete для принятия решений и может быть динамически настроен для изменения бизнес-логики вашего приложения.

Activiti : мощная реализация bpmn2, которую пользователи могут использовать в качестве связи между деловыми людьми и разработчиками.

CXF : стек веб-сервисов.

ActiveMQ : реализация JMS. API Java Message Service ( JMS ) — это API-интерфейс промежуточного программного обеспечения (MOM), предназначенный для отправки сообщений между двумя или более клиентами.

Ehcache : кэш второго уровня, который может улучшить ваше приложение.

Hibernate JPA2 : реализация спецификации JPA2. Реляционная карта объекта.

Архетип Требования

  • Apache Maven 2
  • Tomcat 6
  • (Необязательно) Набор инструментов разработки (например, Eclipse или SpringSourceTool Suite или любой другой набор инструментов. Для удобства было бы желательно поддерживать интеграцию maven) для просмотра созданной архитектуры проекта и для разработки на основе этого архетипа.

инструкции по установке

Загрузите архетип . Распакуйте его где-нибудь на диске и введите в корневой папке архетипа следующее:

1
mvn install

Генерация вашего первого проекта

Чтобы сгенерировать свой первый проект, введите в своем рабочем каталоге следующее:

1
mvn archetype:generate -DarchetypeCatalog=local -DarchetypeGroupId=com.javacodegeeks -DarchetypeArtifactId=jcg-andygene-web-archetype

Вам будет предложено ввести несколько параметров архетипа. Примером является следующее:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Define value for property 'groupId': : com.javacodegeeks
Define value for property 'artifactId': : MyFirstJCGProject
Define value for property 'version': 1.0-SNAPSHOT: 1.0.0.Final
Define value for property 'package': com.javacodegeeks: com.javacodegeeks
[INFO] Using property: activemqpersistencedir = ~/activemq
[INFO] Using property: activemqpersistencesize = 32mb
[INFO] Using property: activemqsessioncachesize = 100
Define value for property 'activitipassword': : nothing
[INFO] Using property: activitiurl = jdbc\:h2\:mem/activiti
[INFO] Using property: activitiusername = sa
Define value for property 'databasepassword': : nothing
[INFO] Using property: databaseurl = jdbc\:h2\:mem/andygene
[INFO] Using property: databaseusername = sa
[INFO] Using property: db = h2
[INFO] Using property: tomcathost = localhost:8080
Confirm properties configuration:
groupId: com.javacodegeeks
artifactId: MyFirstJCGProject
version: 1.0.0.Final
package: com.javacodegeeks
activemqpersistencedir: ~/activemq
activemqpersistencesize: 32mb
activemqsessioncachesize: 100
activitipassword: nothing
activitiurl: jdbc\:h2\:mem/activiti
activitiusername: sa
databasepassword: nothing
databaseurl: jdbc\:h2\:mem/andygene
databaseusername: sa
db: h2
tomcathost: localhost:8080

Это создаст проект maven с именем MyFirstJCGProject (в зависимости от параметра, который вы указали ранее)

Ниже представлена ​​структура основных элементов этого проекта:

Под src / main / java :

  • dao: содержит объекты доступа к данным (DAO)
  • домен: содержит объекты передачи данных (DTO)
  • drools: Содержит используемый объект drool.
  • jms: содержит слушателя и отправителя JMS.
  • сервис и сервис / импл: содержит основные сервисы.
  • util: содержит различные утилиты (например, валидацию)
  • Сеть: содержит контроллеры.
  • webservices: содержит мыльные интерфейсы.

В разделе src / main / resources :

  • activiti: это содержит потоки.
  • слюни: он содержит правила.
  • META-INF: содержит файл persistence.xml.
  • META-INF / spring: содержит файлы свойств и контекст приложения для источников ссылок Spring.

Под src / test :

  • Java: он содержит модульные тесты.
  • Ресурсы: Содержит log4j.

Под src / main / webapp (файлы для приложения we):

  • / WEB-INF / spring: содержит дескриптор spring для веб-приложения.
  • / WEB-INF / layouts: содержит веб-шаблоны.
  • / WEB-INF / reports: содержит отчеты о яшме.
  • / WEB-INF / classes: содержит веб-свойства.
  • / WEB-INF / views: содержит структуру веб-страниц.

Запуск / сборка вашего первого проекта

Чтобы запустить — соберите свой проект, введите следующее (если ваш инструментарий разработки имеет интеграцию с maven, вы можете выполнить следующее действие из своего инструментария):

1
2
cd MyFirstJCGProject
mvn install

Файл войны будет сгенерирован в target / MyFirstJCGProject.war . Скопируйте этот файл в TOMCAT_HOME / webapps .
Запустите Tomcat и укажите браузер по следующему адресу: http: // tomcathost / MyFirstJCGProject

Конфигурация Tomcat

Вы должны отредактировать catalina.sh для mac или linux или catalina.bat , если вы работаете в windows, расположенном в TOMCAT_HOME / bin, и добавить следующие строки:

1
2
3
4
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8
-server -Xms1536m -Xmx1536m
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"

Примечание : Drools требуется подключение к Интернету. Если вы хотите запустить свой проект без доступа к Интернету, скопируйте MyFirstJCGProject / src / main / resources / META-INF / spring / drools-spring-1.0.0.xsd в папку свой диск и отредактируйте MyFirstJCGProject / src / main / resources / META-INF / spring / applicationContext-drools.xml : измените http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-container/drools -spring / src / main / resources / org / drools / container / spring / drools-spring-1.0.0.xsd в файл: ///path/to/drools-spring-1.0.0.xsd .

Архетип Поддерживаемые базы данных:

  • Значение свойства db H2 (по умолчанию) [h2]
  • Значение свойства Postgres db [postgres]
  • Значение свойства Mysql db [mysql]
  • Значение свойства Oracle db [оракул]

Примечание: Если вы выбираете oracle, вы должны загрузить драйвер oracle, oracle и установить его в свой репозиторий.

Дорожная карта JCG:

Java Code Geeks планирует предоставить больше инструментов для сообщества в ближайшем будущем. Следующие проекты включены в Дорожную карту:

СКГ-andygene-СОА-архетип:

  • Весенняя интеграция
  • Весенняя партия
  • Drools
  • Activiti
  • Smooks

СКГ-andygene-NoSQL-архетип:

  • MongoDB
  • HBase (Hadoop)

СКГ-andygene-JCR-архетип:

  • Jackrabbit

СКГ-andygene-телеком-архетип:

  • Mobicents Sip Servlets
  • SMS / MMS

СКГ-andygene-консоль:

  • Менеджер задач
  • Консоль JMX
  • Правило горячего развертывания
  • Smooks Hot Deployment
  • Активити Горячее Развертывание

appboost:

  • Плагин Eclipse, который сочетает в себе вышеуказанные технологии для быстрой разработки приложений.

Статьи по Теме: