1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Jyokiyi-self-tools

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 09:38 387476f

self-tools

介绍

Проект использует распространённые инструменты и конфигурации.

Среда — JDK1.8.

Каталог структуры

Общая структура каталога:

D:.
├─docker                         # Dockerfile файл хранится в каталоге
├─java
│  └─com
│      └─self
│          └─ry
│              ├─config          # Конфигурация
│              │  └─swagger2     # Конфигурация API-документации
│              ├─controller      # REST интерфейс 1
│              ├─controller2     # REST интерфейс 2
│              ├─mapper          # Интерфейс класса Mapper
│              ├─model           # Bean, Entity
│              └─utils           # Вспомогательные инструменты
│                  ├─lambda
│                  └─sm2
└─resources
    └─mybatis
        └─mapper                 # Хранит XML файлы

Частичное описание классов:


├─config                          # Настройки трамплина
│      MySQLSSHSettings.java      # Чтение настроек MySQL
│      RedisSSHSettings.java      # Чтение настроек Redis
│      SSHConnection.java         # Запускает соединение SSH

└─utils                           # Инструменты
      │  BCCUtil.java             # Проверка BCC
      │  ByteHexUtil.java         # Операции с байтами-16-битными числами
      │  CRCUtil.java             # Проверка CRC
      │  DateUtil.java            # Операции с датой
      │  EncryptUtil.java         # Операция шифрования пароля
      │  ExcelUtil.java           # Класс операций Excel
      │  IPUtil.java              # Получение класса IP
      │  JwtUtil.java             # JWT - операции шифрования и дешифрования
      │  RipeMD160Util.java       # RipeMD160 операция шифрования
      │  RSAUtil.java             # RSA операции шифрования и дешифрования
      │  ShiftUtil.java           # Сдвиг и битовые операции
      │  StringUtils.java         # Строковые операции
      │  TimerManageUtil.java     # Управление задачами по времени и пулом потоков
      │  Util.java                # Двоичные, шестнадцатеричные и байтовые массивы

      ├─lambda                    # Лямбда-выражение, группировка groupby
      │      Salary.java
      │      SalaryTest.java
      │      Tuple.java
      │      Tuple2.java

      └─sm2                       # SM2 - шифрование и дешифровка
              Cipher2SM2.java
              SM2EnDecryption.java
              SM2Factory.java
              SM2Result.java
              SM2Util.java
              SM3.java
              SM3Digest.java

Swagger — управление API-интерфейсами

Используется Swagger2:

  • В основном классе приложения добавьте аннотацию @EnableSwagger2Doc.

Конфигурацию можно посмотреть здесь: https://github.com/SpringForAll/spring-boot-starter-swagger.

В этом проекте используется конфигурация класса: com.self.ry.config.swagger2.Swagger2Config. Используя swagger.base-package, можно указать несколько пакетов для создания документации API-интерфейсов, разделяя их точкой с запятой (;).

После запуска проекта введите http://localhost:8089/swagger-ui.html в браузере. В разделе myseltAPI вы увидите информацию об интерфейсе.

Использование

Все вспомогательные классы находятся в пакете com.self.ry.utils.

Управление подключением к базе данных

Чтобы использовать MyBatis в Spring, вам нужен как минимум один SqlSessionFactory и хотя бы один интерфейс Mapper.

Используйте зависимость mybatis-spring-boot-starter, она автоматически зависит от jdbc: spring-boot-starter-jdbc версии 2.0+ и по умолчанию использует Hikari для управления пулом соединений с базой данных. Этот проект использует существующий пул соединений.

mybatis-spring-boot-starter будет делать следующее:

  • Автоматически обнаруживать существующие источники данных.
  • Использовать класс SqlSessionFactoryBean в качестве входных данных для создания и регистрации экземпляра SqlSessionFactory.
  • Создавать и регистрировать экземпляр SqlSessionTemplate из SqlSessionFactory, чтобы получить его.
  • Автоматическое сканирование Mappers, связывание их с SqlSessionTemplate и регистрация их в контексте Spring для последующего внедрения в bean-компоненты.

На интерфейсах Mapper используйте аннотации org.apache.ibatis.annotations.Mapper или org.springframework.stereotype.Repository.

По умолчанию MyBatis-Spring-Boot-Starter будет искать аннотированные мапперы. Если вам нужно указать пользовательскую аннотацию или пометить интерфейс для сканирования, вы должны использовать аннотацию @MapperScan для указания пути пакета (@MapperScan(com.self.ry.mapper)).

При настройке MyBatis проверьте свойства класса MybatisProperties, а затем установите соответствующие свойства в файле yml.

Redis

Добавьте зависимость:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

Особенности:

  • Соединение пакета как абстракция низкого уровня для нескольких драйверов Redis / коннекторов (Jedis и Lettuce). Не поддерживает JREDI и SRP.
  • Преобразование исключений для драйверов Redis в переносимые исключения доступа к данным Spring.
  • RedisTemplate предоставляет высокоуровневую абстракцию для выполнения различных операций Redis, преобразования исключений и поддержки сериализации.
  • Поддержка Pubsub (публикация / подписка), например, для MessageListenerContainer, используемого для POJO на основе сообщений.
  • Поддерживает Redis Sentinel и кластеры.
  • JDK, String, JSON и Spring Object / XML сопоставление сериализации.
  • Реализация JDK Collection поверх Redis.
  • Специализированная поддержка счётчиков, сортировщиков и конвейеров.
  • Сортировка и функции каналов.
  • Специально поддерживает SORT, SORT / GET режим и возвращаемые массовые значения.
  • Реализует Spring 3.1 Cache Abstraction над Redis.
  • Автоматическая реализация интерфейса Repository, включая поддержку пользовательских методов поиска с помощью @EnableRedisRepositories.
  • CDI поддержка хранилища.

Springboot по умолчанию использует RedisConnectionFactory, основанный на JedisconnectionFactory экземпляра. Соединение фабрики внедряется в контейнер прослушивателя сообщений и Redis шаблон.

В конфигурационном файле application.yml используйте redis-prefix для настройки префикса типа данных Redis.

Трамплин

Настройка трамплина находится в пакете com.self.ry.config. Трамплин — это сервер, который используется для обслуживания. Сначала необходимо войти на этот сервер, а затем с этого сервера войти в целевое устройство для обслуживания. То есть трамплин действует как внутренний шлюз сети, и все операции должны проходить через шлюз для работы во внутренней локальной сети.

# redis трамплин настройки
ssh-redis:
  # Включить службу ssh
  enable: true
#  enable: false # IP-адрес хоста
remote: XXX.XXX.XXX.XXX
port: 14022
username: root
password: 2019111

# Настройка уровня безопасности  no  ask   yes
# Обратите внимание, что здесь обязательно нужно добавить одинарные кавычки, иначе будет интерпретировано как no-false  yes-true
strictKey: 'no'

# Реальные host и порт Redis
redisHost: 192.168.5.140
redisPort: 6379

В этом примере хост — это `XXX.XXX.XXX.XXX`, его порт `14022` соответствует хосту `192.168.5.140` в локальной сети. Таким образом, через сопоставление порта и хоста достигается цель управления хостом в локальной сети.

#### Docker
В папке `src/main/docker` размещаются файлы для запуска проекта с использованием Docker, включая скрипты для создания образа с помощью Jenkins.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/Jyokiyi-self-tools.git
git@api.gitlife.ru:oschina-mirror/Jyokiyi-self-tools.git
oschina-mirror
Jyokiyi-self-tools
Jyokiyi-self-tools
master