150 likes | 386 Views
Тема 10. Spring Framework. XP. eXtreme Programming. Задачи Spring Framework.
E N D
Тема 10 Spring Framework XP eXtreme Programming
Задачи Spring Framework Spring Framework – это облегченное решение по созданию корпоративных приложений при сохранении возможности управления транзакциями, дистанционного доступа к логике и прочие возможности. Используется для разработки контроллеров различных классов. Может включаться в приложение посредством jar-файлов отдельных пакетов, а может включать весь набор посредством файла spring.jar. XP
Модуль (пакет) Spring Core Это ядро среды Spring. Предоставляет фундаментальные средства разработки Spring – внедрение зависимостей и управление компонентами. XP
Модуль (пакет) Spring Content Модуль контекста приложения. Содержит классы ApplicationContext и WebApplicationContext для использования внедренных компонентов в приложении. XP
Модуль (пакет) Spring AOP Модуль аспект- ориентированного программирования. Это более простой способ разбиения приложения на отдельные модули (разделение интересов). Каждый слой приложения содержит функции для реализации своего интереса и не содержит функций, пересекающихся с интересами других слоев. XP
Модуль (пакет) Spring DAO Модуль работы с JDBC, предоставляющий все функции создания и работы с отказоустойчивой базой данных. XP
Модуль (пакет) Spring ORM Модуль объектно-реляционного связывания для поддержки интеграции с Hibernate и прочих технологий. XP
Модули (пакеты) Spring Web и Spring Web MVC Модули для создания Web-приложений. XP
Преимущества использования Spring • Использования POJO (простых старых объектов Java); • Модульность; • Возможность дополнения; • Проверка (легко использовать JUnit,наличие ложных объектов для моделирования, к примеру, HTTP-запросов); • Web-среда (позволяет разрабатывать экраны без форм, экраны с формами, связывать html-элементы непосредственно с объектами приложения и пр.) • Четкая иерархия исключений; • Наличие классов управления транзакциями; • Облегченный контейнер IoC (контейнер инверсии управления). XP
Фундаментальная концепция Spring – внедрение зависимости Зависимость – это связь между двумя классами. Внедрение означает, что один класс внедряется в другой как в контейнер IoC. Два способа внедрения: • При помощи параметров конструктора; • При помощи методов установки значения переменной класса в стиле JavaBean. XP
Интерфейс BeanFactory Является контейнером IoC. Позволяет управлять конфигурацией приложения за счет создания экземпляров и манипулирования компонентами, определенными в коде или файле XML. XP
Простой тест для среды Spring с демонстрацией внедрения зависимостей – задача Ant <target name="springtest“> <java fork="true" classpathref="master-classpath" classname="com.visualpatterns.timex.test.SpringTest"/> </target> XP
Простой тест для среды Spring с демонстрацией внедрения зависимостей – файл контекста приложения Spring (помещается в папку conf) <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!–- Внедрение зависимости через свойство . init-method – метод, который вызывается после создания объекта --> <bean id="springtestmessage" class="com.visualpatterns.timex.test.SpringTestMessage" lazy-init="false" init-method="printMessage"> <property name="message" ref="stringmessage" /> </bean> <!–- Внедрение зависимости через параметр конструктора --> <bean id="stringmessage" class="java.lang.String"> <constructor-argvalue="Hello, world! Time to spring into action :-)" /> </bean> </beans> XP
Простой тест для среды Spring с демонстрацией внедрения зависимостей – JavaBeanSpringTestMessage package com.visualpatterns.timex.test; public class SpringTestMessage { private String message; public void setMessage(String message) { this.message = message;} public void printMessage() { System.out.println(this.message);} } XP
Простой тест для среды Spring с демонстрацией внедрения зависимостей – загрузка файла контекста приложения и использование компонентов контейнера IoC package com.visualpatterns.timex.test; import org.springframework.context.support.FileSystemXmlApplicationContext; public class SpringTest { public static void main(String args[]) throws Exception { FileSystemXmlApplicationContext factory = new FileSystemXmlApplicationContext( "src/conf/springtest-applicationcontext.xml"); SpringTestMessage stm = (SpringTestMessage) factory .getBean("springtestmessage"); } } XP