Довольно таки много статей, где показывают примеры использования готовых структур таких как Spring MVC например, но в этом уроке я не буду вам показывать как реализовать структуру какого то паттерна, я покажу как сконфигурировать ваше первое Spring приложение.
Spring Framework является Java платформой, обеспечивающей полную поддержку совместной работы модулей Java приложений.
Spring Framework имеет довольно широкую функциональность и активно используется при разработке сложных бизнес-приложений.
Spring предоставляет в себе большой спектр frameworks:
• IoC (Inversion of Control) контейнер – конфигурирование компонент приложений и управление жизненным циклом Java объектов.
• AOP (аспектно-ориентированного программирования) – работает с функциональностью, которая не может быть реализована возможностями объектно-ориентированного программирования на Java без каких-либо потерь.
Это самые основные фреймфорки Spring помимо их есть много других…
Давайте начнем конфигурировать наше первое Spring приложение.
Шаг 1.
Начнем как всегда с создания проекта Maven, как это делать вы уже можете наблюдать в этих статьях (Maven. Часть 1 — Знакомство и настройка и Maven. Часть 2 – Dependency).
Создадим класс Main.java и напишем EnterPointer(точка входа) – метод main(String[] args):
public class Main { public static void main(String []args){ LabRat rat = new LabRat("Hi!"); rat.sayHi(); } }
И наша LabRat (подопытная крыса) которая говорит – Hi!
package com.devcolibri.pack; public class LabRat { private String text; private String name; public LabRat(String text) { this.text = text; } public String getText() { return text; } public void setText(String text) { this.text = text; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void sayHi(){ System.out.println(text); } }
В результате выполнения вы не увидите ничего нового, просто выведется “Hi!“, но как вы видите мы в ручную инициализируем нашу крысу:
LabRat rat = new LabRat("Hi!");
Шаг 2.
Давайте теперь переведем этот пример на Spring IoC.
IoC – Inversion of Control или еще иногда пишут Dependency Injection, по сути это одно и то же, это значит что процесс рождения объектов(инициализации) и их смерти будет управляться контейнером Spring.
src\main\resources\config.xml
и добавить туда следующее содержимое:
<?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-3.0.xsd"> <bean id="rat" class="com.devcolibri.pack.LabRat"> <constructor-arg value="Hi!"/> <property name="name" value="Alice"/> </bean> </beans>
С 1-й по 5-ю строчку находится стандартная xsd конфигурация, на неё особого внимания можете не обращать, на что стоит обратить особое внимание так это на строчку 7, где мы описываем наш объект LabRat говорим где он лежит и даем ему уникальный идентификатор.
После чего со строки 8 мы начинаем описывать с какими параметрами и значениями его оживить(инициализировать).
<constructor-arg value="Hi!" />
– тут мы говорим что в конструктор объекта LabRat передать текст “Hi!“;
<property name="name" value="Alice"/>
– используется в том случае если у нас возникает потребность инициализировать атрибут объекта в момент его рождения но этот параметр не инициализируеться через конструктор, только в этом случае обязательным условием есть присутствие getter and setter (getName(), setName(String name)).
Шаг 3.
Теперь добавим необходимую зависимость в pom.xml на момент написание урока самая свежая версия Spring была Spring 3.2.2
<properties> <org.springframework.version>3.2.2.RELEASE</org.springframework.version> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${org.springframework.version}</version> </dependency> </dependencies>
Шаг 4.
Теперь переделаем немного Main.java:
public class Main { public static void main(String []args){ ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext(new String[] {"config.xml"}); LabRat rat = (LabRat) ac.getBean("rat"); rat.sayHi(); System.out.println(rat.getName()); } }
new ClassPathXmlApplicationContext(new String[] {"config.xml"});
– определяем конфигурационный файл;
LabRat rat = (LabRat) ac.getBean("rat");
– получаем наш объект уже с Spring IoC контейнера.
В результате получим то же поведение, что и в первом случае но уже мы не управляем жизнью объекта за нас это делает Spring IoC.
ПОХОЖИЕ ПУБЛИКАЦИИ
- None Found
9 комментариев к статье "Spring 3. Как сконфигурировать первый проект?"
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.
Офигенные статьи
Ништяк!
“Аффтар пешы есчо!”
Еще немного подождите, уже совсем скоро будет много статей на подобные темы.
Только не до конца понятно, зачем писать “new String[] {“config.xml”}” если можно просто “config.xml”? (стр 4 в Main’e) :)
конфигурационных файлов может быть много, поэтому логично создать массив таких файлов.
Это просто один из вариантов, можно просто через запятую перечислить.
Спасибо! хоть чуть-чуть проясняться началось
Совершенно согласна!
а как получается создать вторую LabRat ? получается мы можем создать только одну, другую с другим именем уже не сделать. Или все таки можно как то??!?!?!?