https://github.com/ykameshrao/spring-hibernate-springdata-springmvc-maven-project-framework
Проект состоит из следующих частей:
1) Commons-Deps : Зависимости, объявленные в виде одного файла pom для легкого управления зависимостями проекта. Пользователь сам выбирает, продолжать ли он в том же духе или использовать собственный метод управления зависимостями в Maven Pom.
2) Commons : Многие общие фрагменты кода предоставляются в составе модуля jar commons, чтобы помочь отправлять почту с использованием gmail, java mail, кодировки utf8, менеджеров кеша JCS, менеджеров сеансов, случайной строки и т. Д.
3) Каркас : эта часть базы кода включает JPA и объекты данных Spring, JPA и репозитории данных Spring, сервисы, которые построены с использованием Java Generics, чтобы помочь обеспечить действия CRUD над этими объектами, когда пользователи создают свои собственные доменные объекты, репозитории и услуги, расширяющие предоставляемые здесь. Он также содержит API и контроллеры веб-приложений, которые снова предоставляют базовые функциональные возможности для людей, заинтересованных в создании собственных контроллеров Spring MVC с их использованием. Также здесь содержатся валидаторы, исключения, обработчики исключений на основе AOP.
4) Ваш собственный код веб-приложения : эта часть кода предоставляет загруженный веб-проект с API и веб-интерфейсом, используя лучшие практики, которые я выбрал за время, чтобы делать что-то с использованием сторонних фреймворков, библиотек, которые я выбрал здесь. Части API настроены для приема и генерации как XML, так и JSON форматов запросов и ответов. Здесь Akka также настроен для представления метода, с помощью которого он может использоваться для разгрузки действий с ваших контроллеров Spring MVC (Servlets). Здесь он запрограммирован на разгрузку задачи отправки писем.
Это оболочка, предназначенная для начала создания веб-приложений на базе Spring со слоем Hibernate ORM или NoSQL и Spring MVC на основе Spring Data ORM на языке программирования Java. Цель этого проекта — помочь вам быстро начать разработку веб-приложений на Java с помощью широко используемой и протестированной инфраструктуры веб-разработки на Java.
Этот проект предоставляет образцы объектов гибернации, объектов данных Spring, актеров akka для разгрузки отправки почты, таких как задания, модели, репозитории, сервисы и классы контроллеров. Есть также много классов уровня инфраструктуры, которые помогут обработать исключения и ошибки в проекте, который вы можете начать разрабатывать, используя это. Пользовательский интерфейс для простого веб-проекта по умолчанию, встроенного в эту среду, создается с использованием Twiiter Bootstrap, Apache Tiles, jQuery, jQuery Validation, JSP.
Я могу изо всех сил стараться представить здесь как можно больше подробностей, но лучший способ понять все, что предоставляется, — это прочитать код. Поэтому я также предоставил пример проекта веб-приложения с функциональностью для регистрации и входа в систему пользователя. Весь код представлен в структуре пакета, которая может быть переименована в соответствии с вашим собственным выбором и требованиями. Наслаждайтесь!
Конфигурации config / props / mail.properties
|
1
2
3
4
5
6
7
8
9
|
mail.transport.protocol=smtpsmail.host=smtp.gmail.commail.user=mail.pass=mail.port=465mail.starttls=truemail.auth=truemail.debug=truemail.fromAddress= |
конфиг / реквизит / database.properties
|
1
2
3
4
5
6
7
8
|
jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/yourwebprojectdbjdbc.username=jdbc.password=hibernate.c3p0.min_size=5hibernate.c3p0.max_size=20hibernate.c3p0.timeout=600hibernate.c3p0.max_statements=50 |
SRC / основные / ресурсы / плитка / templates.web.xml
|
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
32
33
34
35
36
|
<i> <?xml version=”1.0” encoding=”UTF-8” ?><!DOCTYPE tiles-definitions PUBLIC”-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN” <tiles-definitions> <definition name=”base” template=”/WEB-INF/views/layout/web.jsp”> <put-attribute name=”title” value=”” /> <put-attribute name=”header” value=”/WEB-INF/views/common/header.web.jsp” /> <put-attribute name=”message” value=”/WEB-INF/views/common/message.web.jsp” /> <put-attribute name=”content” value=”” /> <put-attribute name=”footer” value=”/WEB-INF/views/common/footer.web.jsp” /> </definition> <definition name=”home” extends=”base”> <put-attribute name=”title” value=”Your Web Project” /> <put-attribute name=”content” value=”/WEB-INF/views/web/home.web.jsp” /> </definition> <definition name=”userRegistration” extends=”base”> <put-attribute name=”title” value=”Register” /> <put-attribute name=”content” value=”/WEB-INF/views/web/userRegistration.web.jsp” /> </definition> <definition name=”dashboard” extends=”base”> <put-attribute name=”title” value=”Dashboard” /> <put-attribute name=”content” value=”/WEB-INF/views/web/dashboard.web.jsp” /> </definition> <definition name=”error” extends=”base”> <put-attribute name=”title” value=”Error” /> <put-attribute name=”content” value=”/WEB-INF/views/web/error.web.jsp” /> </definition></tiles-definitions></i> |
Необходимы параметры запуска виртуальной машины
|
1
|
-Dconf.path=”path-to-config-folder-on-target-machine-containing-property-files” |
См. Src / main / resources / config / spring / applicationContext-properties.xml
|
1
2
3
4
5
6
7
8
|
<util:properties id=”mdbProps” location=”file:#{systemProperties[‘conf.path’]}/config/props/mongodb.properties” /><util:properties id=”dbProps” location=”file:#{systemProperties[‘conf.path’]}/config/props/database.properties” /><util:properties id=”logProps” location=”file:#{systemProperties[‘conf.path’]}/config/props/log4j.properties” /><util:properties id=”amProps” location=”file:#{systemProperties[‘conf.path’]}/config/props/api.messages.properties” /> : : |
Скриншоты
Фреймворки, объединенные вместе для поддержки нескольких действий в этом слое кода:
Maven Java 1.7
Весна 3.1.1
Спящий 4+
Spring Data
MongoDB
Акка 1.3+
Apache Tiles 2+
Twitter Bootstrap 2+
Скорость для почты
BootSwatch
JQuery
Ссылка: Spring, Hibernate, Spring Data, Akka, Twitter Bootstrap, Apache Tiles, jQuery, веб-проект Maven Java Kickstarter Codebase от нашего партнера по JCG Й Камеш Рао в блоге OrangeApple .




