Я буду периодически обновлять некоторые навыки в реальной разработке. Здесь нет сложных сценариев работы или системы xxx, а лишь практические примеры использования навыков.## Структура директорий
├── SSM-API # общая API
│ ├── src/main
│ ├── └── java/com/crossoverJie # конкретный код.
│ ├── └── resources
├── SSM-BOOT # доступен для внутреннего использования зависимостей Dubbo
│ ├── └── resources/spring # конфигурация потребителя Dubbo
├── SSM-SECONDS-KILL # модуль секундной распродажи
│ ├── └── SSM-SECONDS-KILL-API # открытая API секундной распродажи
│ ├── └── SSM-SECONDS-KILL-ORDER-CONSUMER # модуль потребителя Kafka
│ ├── └── SSM-SECONDS-KILL-SERVICE # сервисный модуль
│ ├── └── SSM-SECONDS-KILL-WEB # веб-модуль
├── SSM-SERVICE # реализация сервиса приложения Dubbo
│ ├── src/main
│ │ ├── java/com/crossoverJie/api # конкретный код
│ │ ├── └── controller # интерфейс обнаружения сердцебиения
│ │ ├── └── dubbo # код, связанный с Dubbo
│ │ ├── └── dao # пакет dao
│ │ ├── └── pojo # пакет pojo
│ │ ├── └── service # пакет service
│ │ ├── └── util # набор инструментов
│ │ ├── └── impl # реализация API Dubbo
│ │ └── resources # файл конфигурации
│ │ ├── mapping # файл конфигурации *.mapper
│ │ └── spring # файл конфигурации, связанный со Spring
``````md
├── SSM-WEB # веб-приложение
│ ├── src/main
│ ├── ├── java/com/crossoverJie # конкретный код
│ ├── ├── ├── controller # пакет контроллеров
│ ├── ├── ├── cxf # код, связанный с CXF
│ ├── ├── ├── dao # пакет DAO
│ ├── ├── ├── enums # пакет enum
│ ├── ├── ├── intercept # интерцептор
│ ├── ├── ├── kafka # Kafka
│ ├── ├── ├── ├── official # официальное потребление
│ ├── ├── ├── ├── optimization # многопоточное потребление
│ ├── ├── ├── lucene # код, связанный с Lucene
│ ├── ├── ├── pojo # пакет POJO
│ ├── ├── ├── req # пакет запросов
│ ├── ├── ├── res # пакет ответов
│ ├── ├── ├── service # пакет сервисов
│ ├── ├── ├── shiro # код, связанный с Shiro
│ ├── ├── ├── util # инструменты
│ ├── ├── ├── vo # пакет VO
│ ├── ├── resources
│ ├── ├── ├── mapping # конфигурационные файлы мапперов
│ ├── ├── webapp # фронтенд код
├── doc
│ ├── lucene # код, связанный с Lucene
│ ├── sql # SQL-скрипты
├── .gitignore # .gitignore
├── pom.xml # родительский pom
├── LICENSE
├── README.md
```md```markdown
## Список задач```* [x] [Архитектура интеграции SSM(1)](http://crossoverjie.top/2016/06/28/SSM1)
* [x] [Полнотекстовый поиск с использованием Lucene SSM(2)](http://crossoverjie.top/2016/07/06/SSM2)
* [x] [Подробное руководство по использованию Shiro SSM(3)](http://crossoverjie.top/2016/07/15/SSM3/)
* [x] [Введение в WebService SSM(4)](http://crossoverjie.top/2016/08/02/SSM4/)
* [x] [Чат-комната на основе WebSocket SSM(5)](http://crossoverjie.top/2016/09/04/SSM5/)
* [x] [Кросс-доменная передача данных SSM(6)](http://crossoverjie.top/2016/10/18/SSM6/)
* [x] [Использование Redis в JavaWeb приложении SSM(7)](http://crossoverjie.top/2016/12/18/SSM7/)
* [x] [Динамическое переключение источников данных SSM(8)](http://crossoverjie.top/2017/01/05/SSM8/)
* [x] [Реальное применение рефлексии — создание объекта лога SSM(9)](http://crossoverjie.top/2017/01/19/SSM9/)
* [x] [Проектная реконструкция — структура Maven для интернет-проекта SSM(10)](http://crossoverjie.top/2017/03/04/SSM10/)
* [x] [Распределённая архитектура на базе Dubbo SSM(11)](http://crossoverjie.top/2017/04/07/SSM11/)
* [x] [Dubbo модуль логирования SSM(12)](http://crossoverjie.top/2017/04/25/SSM12/)
* [x] [Expose HTTP сервис с помощью Dubbo SSM(13)](http://crossoverjie.top/2017/05/02/SSM13/)
* [x] [Аннотация HTTP повторной отправки защиты SSM(14)](https://crossoverjie.top/2017/05/24/SSM14/)
* [x] [Реальные применения оптимистического и пессимистического блокировок SSM(15)](https://crossoverjie.top/2017/07/09/SSM15/)
* [x] [Обходной путь — обработка ошибок Kafka Consumer SSM(16)](https://crossoverjie.top/2017/09/05/SSM16/)
* [x] [Применение MQ SSM(17)](https://crossoverjie.top/2017/10/20/SSM17/)
* [x] [Архитектурные практики секционных продаж SSM(18)](https://crossoverjie.top/2018/05/07/ssm/SSM18-seconds-kill/)---
# БЫСТРОЕ НАЧАЛО
1. Импортировать SQL-скрипт
[https://github.com/crossoverJie/SSM/tree/master/doc/sql](https://github.com/crossoverJie/SSM/tree/master/doc/sql)
# ВОПРОСЫ И ОТВЕТЫ
#### Существует ли зависимость или код, начинающийся с `crossoverJie`, который отсутствует?
Это потому, что проект зависит от моего JAR-пакета, который не был опубликован в центральной библиотеке Maven.
Потому что есть зависимости:
https://github.com/crossoverJie/SSM-REQUEST-CHECK
https://github.com/crossoverJie/SSM-DUBBO-HTTP
https://github.com/crossoverJie/SSM-DUBBO-FILTER
JAR.
*Решение:*
- если вам это не нужно, удалите его;
- если вам это нужно, выполните следующие шаги:
```https://github.com/crossoverJie/SSM-REQUEST-CHECK
https://github.com/crossoverJie/SSM-DUBBO-HTTP
и установите локально.
---
# Частичные скриншоты




```properties
2017-04-25 15:15:38,968 DEBUG [com.alibaba.dubbo.remoting.transport.DecodeHandler] - [DUBBO] Декодируемое сообщение типа com.alibaba.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation, версия Dubbo: 2.5.3, текущий хост: 127.0.0.1
2017-04-25 15:15:39,484 DEBUG [com.crossoverJie.dubbo.filter.DubboTraceFilter] - данные запроса Dubbo: {"args":[1],"interfaceName":"com.crossoverJie.api.UserInfoApi","methodName":"getUserInfo"}
2017-04-25 15:15:39,484 INFO [com.crossoverJie.api.impl.UserInfoApiImpl] - Пользователь с Id=1 запрашивает информацию
2017-04-25 15:15:39,505 DEBUG [org.mybatis.spring.SqlSessionUtils] - Создание нового объекта SqlSession
2017-04-25 15:15:39,525 DEBUG [org.mybatis.spring.SqlSessionUtils] - Объект SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6f56b29] не был зарегистрирован для синхронизации, так как синхронизация отключена
2017-04-25 15:15:39,549 DEBUG [org.mybatis.spring.transaction.SpringManagedTransaction] - JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@778b3121] не будет управляем Spring'ом
2017-04-25 15:15:39,555 DEBUG [com.crossoverJie.api.dubbo.dao.T_userDao.selectByPrimaryKey] - ==> Подготовка: select id, username, password, roleId from t_user where id = ?
2017-04-25 15:15:39,591 DEBUG [com.crossoverJie.api.dubbo.dao.T_userDao.selectByPrimaryKey] - ==> Параметры: 1(Integer)
2017-04-25 15:15:39,616 DEBUG [com.crossoverJie.api.dubbo.dao.T_userDao.selectByPrimaryKey] - <== Всего записей: 1
2017-04-25 15:15:39,616 DEBUG [com.alibaba.druid.pool.PreparedStatementPool] - {conn-10003, pstmt-20000} входит в кэш
2017-04-25 15:15:39,617 DEBUG [org.mybatis.spring.SqlSessionUtils] - Закрытие независимого от транзакций объекта SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6f56b29]
2017-04-25 15:15:45,473 INFO [com.crossoverJie.dubbo.filter.DubboTraceFilter] - выполнение Dubbo завершено успешно
2017-04-25 15:15:45,476 DEBUG [com.crossoverJie.dubbo.filter.
DubboTraceFilter] - данные ответа Dubbo {"args":[{"id":1,"password":"123456","roleId":1,"userName":"crossoverJie"}],"interfaceName":"com.crossoverJie.api.UserInfoApi","methodName":"getUserInfo"}
```# Дополнительная информация```[Построение проекта микросервисов с использованием `springBoot+SpringCloud`](https://github.com/crossoverJie/springboot-cloud)
# Контакты автора
- [crossoverJie@gmail.com](mailto:crossoverJie@gmail.com)

Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )