Spring Framework: различия между версиями
Содержимое удалено Содержимое добавлено
Moriline (обсуждение | вклад) Нет описания правки |
Moriline (обсуждение | вклад) Нет описания правки |
||
Строка 11:
* NetBeans IDE 7.1
Создадим новый Web проект в NetBeans:
<gallery>
Файл:Create_project_1.jpg|Шаг 1.
Файл:Create_project_2.jpg|Шаг 2. Даем имя проекту - UserProject
Файл:Create_project_3.jpg|Шаг 3. Устанавливаем сервер для проекта
Файл:Create_project_4.jpg|Шаг 4. Выбираем что проект будет использовать Spring Framework и имя dispatcher для имени контекста
Файл:Create_project_6.jpg|Шаг 5. Структура созданного проекта▼
</gallery>
И еще один проект для бизнес-логики:
<gallery>
Файл:Model_lib_2.jpg|Шаг 1. New Project -> Java-> Java Class Library
Файл:Model_lib_3.jpg|Шаг 2. Даем имя проекту - ModelService и добавляем файлы IUserService.java, UserService.java и User.java
Файл:Model_lib_4.jpg|Шаг 3. Правый клик на Libraries в проекте ModelService -> Add Library и выбираем библиотеку JUnit 4.10
Файл:Model_lib_9.jpg|Шаг 4. Правый клик на Libraries в проекте ModelService -> Add JAR/Folder и добавляем spring-context-3.0.6.RELEASE.jar для того чтобы вставить в сервис UserService аннотацию @Service (находится в архиве Spring-а)
Файл:Model_lib_5.jpg|Шаг 5. Создаем тесты для сервиса. Запускаем и собираем в jar командой "Clean and build"
Файл:Model_lib_7.jpg|Шаг 7. Правый клик на Libraries в проекте UserProject -> и добавляем созданный ModelService.jar
Файл:Model_lib_8.jpg|Шаг 8. Структура созданного проекта UserProject
</gallery>
В дескрипторе развертывания приложения, web.xml, мы определяем, что все, что в запросе соответствует паттерну *.htm, должно обрабатываться DispatcherServlet из Spring-а.
Также установим страницу по умолчанию в redirect.jsp:
Строка 80 ⟶ 94 :
</beans>
</source>
Посмотрим проект UserProject.
'''Веб-слой''' приложения (классы-контроллеры, описывающие КАК и КОГДА приложение взаимодействует с пользователем через веб.).
Строка 177 ⟶ 192 :
}
</source>
<source lang="java">▼
package org.app.controller;▼
import org.app.service.IUserService;▼
import org.springframework.context.ApplicationContext;▼
import org.springframework.context.support.FileSystemXmlApplicationContext;▼
public class Main {▼
public static void main(String[] args) {▼
ApplicationContext context = new FileSystemXmlApplicationContext(new String[] {"/web/WEB-INF/dispatcher-servlet.xml"});▼
IUserService iuser = (IUserService)context.getBean("userService"); // имя бина должно быть с маленькой буквы▼
}▼
}▼
</source>▼
'''Слой представления''' (Описывает ЧТО пользователь увидит при взаимодействии с приложением).
Строка 259 ⟶ 293 :
</html>
</source>
Теперь переключимся на проект UserService.
'''Сервис-слой''' приложения(Содержит интерфейсы, в которых описано ЧТО ДЕЛАТЬ С ДАННЫМИ или, другими словами, бизнес логика приложения . Также содержит практические реализации этих интерфейсов.).
Строка 267 ⟶ 303 :
'''@Transactional''' - Перед исполнением метода помеченного данной аннотацией начинается транзакция, после выполнения метода транзакция коммитится, при выбрасывании RuntimeException откатывается.
Интерфейс сервиса org.app.service.IUserService
Строка 383 ⟶ 420 :
this.name = name;
}
▲}
▲</source>
▲И для отладки приложения можно создать файл org.app.controller.Main:
▲<source lang="java">
▲package org.app.controller;
▲import org.app.service.IUserService;
▲import org.springframework.context.ApplicationContext;
▲import org.springframework.context.support.FileSystemXmlApplicationContext;
▲public class Main {
▲ public static void main(String[] args) {
▲ ApplicationContext context = new FileSystemXmlApplicationContext(new String[] {"/web/WEB-INF/dispatcher-servlet.xml"});
▲ IUserService iuser = (IUserService)context.getBean("userService"); // имя бина должно быть с маленькой буквы
▲ System.out.println("size of users:"+iuser.getAll().size());
▲ }
}
</source>
|