Читайте скоро:
- Переходим на Firefox 3
- Встраиваем Acegi Security в web-приложение на Spring
- Факторы способствующие моей продуктивности и творческому настроению
- 12 predictions for Enterprise Web 2.0 in 2008
- The top Enterprise Web 2.0 stories in 2007
- The Crunchies 2007 - Лучшие стартапы 2007-го года
- PHP-GTK Community
- Portable Python
Разработка веб-приложений на Spring. Часть 1 (Проектирование)
Комментариев (3) / J2EE, Java, Spring, Архитектура, ФреймворкиВ предыдущей статье я проводил обзор фреймворка Spring с целью ознакомить читателей с его общим устройством.
В данной статье я бы хотел перейти к планированию будущего приложения на Spring. Определить его цели, структуру и основные компоненты.
Итак, представим, что основная цель - это на протяжении всей серии статей получить базовые знания и представление необходимые для конструирования и разработки веб-приложений на Spring. В качестве учебного примера возьмём страницу инвайтов для моего проекта AllOfRSS.com. Задача: создать страницу, где пользователи могут оставлять свои e-mail для получения в будущем приглашений на тестирование проекта, а также страницу о проекте.
Я специально не привожу в качестве примера сложных архитектурных решений, алгоритмов и функциональных решений, так-как честно считаю, что данного примера достаточно для формирования общего представления и знаний для того, чтобы начать пробовать использовать Spring самостоятельно. Главное дождаться и прочитать остальные статьи из серии.. ![]()
Продолжить ‘Разработка веб-приложений на Spring. Часть 1 (Проектирование)’
- Creating Web 2.0 Effects With Photoshop - создание web2.0 эффектов в Photoshop
- My favourite hibernate interview questions with answers? - вопросы с ответами по Hibernate для собеседования
- Top 15+ MySQL Managers and Tools - 15 полезных утилит для работы с MySql
- Linux desktop imitating OSX - имитация OSX в Linux
- Соционика.инфо - Соционика.инфо: модель, аспекты, социотипы, интертипные отношения
Эта статья является вводной частью к серии статей о создании веб-приложения с использованием Java фреймворка Spring. Тем, кто уже знаком с этим фреймворком статья будет мало полезной, в основном это для тех, кто ничего не знает о Spring или же только слышал и собирался в будущем попробовать.
Spring - это фреймворк объединяющий в себе достаточно много полезной функциональности: управление транзакциями, удалённый доступ к логике приложения используя RMI или веб-сервисы, множество возможностей для хранения ваших данных в БД, полнофункциональный MVC-фреймворк, прозрачную интеграцию AOP в приложении, интеграцию с другими известными фреймворками. Основным преимуществом фреймворка является компонентная архитектура, которая позволяет выборочно использовать любой из компонентов, в тоже время предоставляя связанный фреймворк для разработки J2EE приложений.
Архитектура фреймворка выглядит так:

Каждый из этих компонентов может использоваться независимо или же в связке с другими. Ниже приведено общее описание функциональности каждого из них:
- IoC контейнер. Основная часть фреймворка обеспечивающая базовую функциональность.
- Spring Context. Spring контекст - это конфиогурационный файл предоставляющий контекстную информацию приложения, такую как: описание базнес-объектов в приложении, JNDI русурсы, EJB, e-mail, интернационализацию, валидацию.
- Spring AOP. Данный модуль интегрирует аспектно-ориентированное программирование непосредственно в фреймворк, используя его конфигурационные возможности. В результате, вы можете применить AOP к любому управляемому фреймворком объекту вашего приложения. Spring AOP предоставляет поддержку управления транзакциями для объектов Spring-приложения.
- Spring DAO. Предоставляет абстрактный слой для поддержки DAO. Также, содержит в себе полноценную иерархию эксепшенов для управления ошибками, возникающими при работе с различными базами данных.
- Spring ORM. Включает в себя набор различных фреймворков, для обеспечения поддержки ORM (Object Relational Mapping) в приложении, а именно: JDO, интеграцию Hibernate и iBatis.
- Spring Web Module. Предоставляет контекс для web-based приложений. Поддерживает интеграцию с Struts.
- Spring MVC Framework. Полноценная реализация MVC паттерна для разработки веб-приложений.
Из личного опыта могу сказать, что использовал Spring в 3-х крупных проектах. Негативных отзывов нет, есть только положительные. Благодаря Inversion of Control в приложение можно подключить любой другой фреймворк или билиотеку без особого труда. Конфигурируется всё очень просто, отличная поддержка транзакций благодаря модулю AOP (Spring сам заботится о целостности данных, автоматически выполняя commit и rollback, основываясь на эксепшенах). Простая и удобная реализация MVC.
Хорошие примеры использования Spring: FeedBurner, DZone, LinkedIn.
Хотелось бы поделиться с вами 20-ой лучших на мой взгляд блогов, которые я читаю каждый день:
- SergeyBiryukov.ru - Personal Development по-русски.
- Developers.Org.Ua - Сайт украинского сообщества программистов. Всё о разработке ПО в Украине.
- Ajaxian - Блог об Ajax, а также других современных Web2.0 технологиях.
- Joel on Software - Статьи о бизнесе и управлении программными проектами, включая целое пособие о дизайне пользовательских интерфейсов и юзабилити.
- Lifehacker - Это сайт о продуктивности, о том, как использовать компьютеры, сайты и технологии с наибольшей эффективностью и пользой.
- Lifehacker RU - Это сайт о продуктивности, о том, как использовать компьютеры, сайты и технологии с наибольшей эффективностью и пользой. (Русский аналог)
- Perfectomania Blog - Делаем сайты лучше. Блог для вебмастеров.
- ProBlogger - Блог о блоггинге для блоггеров.
- Korkin.Com - Блог Сергея Коркина об интернет-меркетинге.
- Smashing Magazine - Блог для веб-разработчиков и дизайнеров.
- Ubuntu Geek - Данные блог будет полезен пользователям Ubuntu.
- Интернетные Штучки - Ежедневно здесь публикуются обзоры новых интересных сайтов, программ, новости веб2.0 проектов и различные интернетные мнения.
- Mashable - Самые свежие новости о социальных сетях и сервисах.
- Маниакальный Веблог - Иван Сагалаев о программировании и веб-разработке.
- Webmascon Daily - Цель проекта донести русскоязычному населению Интернета информацию по веб-дизайну, которая доступна только на английском языке. Более глобальная цель - пропаганда качественного, чистого, культурного и стандартного веб-дизайна.
- Sellme - Блог о бизнесе, технологиях и экспериментах.
- ОпенКофе.ру - Открытый клуб для встреч всех, кто так или иначе связан с темой стартапов.
- Office Snapshots - Фотографии офисов известных интернет-компаний.
- Дамочка в поиске - Интересный блог о Web2.0.
- Total Success -Полный Успех - Данное сообщество было создано как склад информации (статьи, книги и т.д.) посвященной психологии, саморазвитию, знакомствам и всему связанному с этими вещами.
Интересно, а что читаете вы? ![]()