Spring Framework: различия между версиями
Содержимое удалено Содержимое добавлено
Muradaev (обсуждение | вклад) |
DannyS712 (обсуждение | вклад) м <source> -> <syntaxhighlight> (phab:T237267) |
||
Строка 36:
Интерфейс сервиса org.app.service.IUserService
<
package org.app.service;
Строка 49:
}
</syntaxhighlight>
... и его реализация
<
package org.app.service;
Строка 111:
}
}
</syntaxhighlight>
'''Доменный слой''' (Здесь находятся POJO-классы, такие как User - это то, ЧЕМ приложение оперирует в бизнес логике).
Сущность пользователя с которой мы работаем - User.java:
<
package org.app.domain;
Строка 148:
}
}
</syntaxhighlight>
== Создание проекта UserProject ==
Строка 167:
В дескрипторе развертывания приложения, ''web.xml'', мы определяем, что все, что в запросе соответствует паттерну *.htm, должно обрабатываться DispatcherServlet из Spring-а.
Также установим страницу по умолчанию в redirect.jsp:
<
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
Строка 197:
</welcome-file-list>
</web-app>
</syntaxhighlight>
Файл ''applicationContext.xml'' оставим как есть. Потом туда можно будет добавлять настройки для Hibernate, JPA и т.д.
Строка 205:
<context:component-scan base-package="org.app" /> - указывает Spring где в CLASSPATH нужно искать бины контроллеров и сервисов(которые помечены аннотациями @Controller и @Service).
<
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
Строка 226:
p:suffix=".jsp" />
</beans>
</syntaxhighlight>
'''Веб-слой''' приложения (классы-контроллеры, описывающие КАК и КОГДА приложение взаимодействует с пользователем через веб.). Добавим в проект контроллер UserController.java
Строка 232:
[[Spring_Framework_Guide#Аннотации| Аннотации]]
<
package org.app.controller;
Строка 308:
}
</syntaxhighlight>
Для проверки работы приложения можно создать файл org.app.controller.Main:
<
package org.app.controller;
Строка 326:
}
}
</syntaxhighlight>
Строка 333:
redirect.jsp
<
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<% response.sendRedirect("index.htm"); %>
</syntaxhighlight>
index.jsp
<
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
Строка 360:
</body>
</html>
</syntaxhighlight>
usercreate.jsp
<
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
Строка 384:
</html>
</syntaxhighlight>
userupdate.jsp
<
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
Строка 410:
</body>
</html>
</syntaxhighlight>
Это все. Можно запускать проект и смотреть что получилось.
Строка 432:
Создаем базу данных organization и соединение в NetBeans.
<
use organization;
Строка 489:
INSERT INTO language_user (user_id, language_id) VALUES (5,3);
</syntaxhighlight>
== Создание проекта OrganizationProject ==
Строка 509:
Файл ''web.xml'':
<
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
Строка 539:
</web-app>
</syntaxhighlight>
В файле ''applicationContext.xml'' определим бин messageSource с помощью которого будем использовать в валидаторе локализованные сообщения.
<
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
Строка 559:
</bean>
</beans>
</syntaxhighlight>
Файл ''dispatcher-servlet.xml'':
<
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
Строка 586:
</beans>
</syntaxhighlight>
'''Веб слой приложения'''.
Строка 592:
Файл org.app.controller.UsersController:
<
package org.app.controller;
Строка 663:
}
</syntaxhighlight>
Файл org.app.controller.GroupController:
<
package org.app.controller;
Строка 718:
}
</syntaxhighlight>
Файл org.app.controller.Main для проверки работы:
<
package org.app.controller;
Строка 739:
}
</syntaxhighlight>
Файл org.app.utils.GroupValidator:
<
package org.app.utils;
Строка 765:
}
}
</syntaxhighlight>
Файл org.app.config.UserSettings для сохранения информации пользователя:
<
package org.app.config;
Строка 823:
}
}
</syntaxhighlight>
'''Слой представления приложения'''.
Строка 829:
Чтобы в каждом файле не использовать одни и те же строки воспользуемся файлом include.jsp:
<
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
</syntaxhighlight>
Файл user/list.jsp:
<
<%@ include file="../include.jsp" %>
<html>
Строка 913:
</html>
</syntaxhighlight>
Файл group/add.jsp:
<
<%@ include file="../include.jsp" %>
<html>
Строка 943:
</html>
</syntaxhighlight>
Файл group/list.jsp:
<
<%@ include file="../include.jsp" %>
<html>
Строка 971:
</html>
</syntaxhighlight>
Файл ''logback.xml'' для логгирования с использованием SLF4J и его реализацией Logback:
<
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
Строка 997:
</root>
</configuration>
</syntaxhighlight>
Файл ''messages.properties'':
<
title.required = Title is required
</syntaxhighlight>
== Создание проекта OrgService ==
Строка 1032:
HibernateUtil:
<
package org.utils;
Строка 1064:
}
}
</syntaxhighlight>
Файл org.app.service.IUserService:
<
package org.app.service;
Строка 1081:
void deleteEntity(Integer id);
}
</syntaxhighlight>
Файл org.app.service.IGroupsService:
<
package org.app.service;
Строка 1098:
void deleteEntity(Integer id);
}
</syntaxhighlight>
Файл org.app.service.IPositionService:
<
package org.app.service;
Строка 1111:
List<Positions> getAll();
}
</syntaxhighlight>
Файл org.app.service.UsersService:
<
package org.app.service;
Строка 1197:
}
}
</syntaxhighlight>
Файл org.app.service.GroupsService:
<
package org.app.service;
Строка 1248:
}
}
</syntaxhighlight>
Файл org.app.service.PositionService:
<
package org.app.service;
Строка 1285:
}
</syntaxhighlight>
Файл org.app.domain.entities.Users:
<
package org.app.domain.entities;
Строка 1337:
}
}
</syntaxhighlight>
Файл org.app.domain.entities.Groups:
<
package org.app.domain.entities;
Строка 1371:
}
}
</syntaxhighlight>
== Настройки Hibernate ==
Строка 1377:
Файл hibernate.cfg.xml:
<
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
Строка 1394:
</hibernate-configuration>
</syntaxhighlight>
Файл hibernate.reveng.xml:
<
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd">
Строка 1409:
</hibernate-reverse-engineering>
</syntaxhighlight>
Это все. Можно запускать проект и смотреть что получилось.
Строка 1442:
Файл ''dispatcher-servlet.xml'':
<
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
Строка 1486:
p:suffix=".jsp" />
</beans>
</syntaxhighlight>
Файл ''web.xml'':
<
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
Строка 1516:
</session-config>
</web-app>
</syntaxhighlight>
Файл app.controller.IndexController:
<
package app.controller;
Строка 1577:
}
}
</syntaxhighlight>
Файл app.controller.UserObject:
<
package app.controller;
Строка 1615:
}
}
</syntaxhighlight>
Файл jsp/index.jsp:
<
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
Строка 1635:
</body>
</html>
</syntaxhighlight>
Файл jsp/help.jsp:
<
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
Строка 1655:
</html>
</syntaxhighlight>
Компилируем проект и запускаем.
|