Проект использует распространённые инструменты и конфигурации.
Среда — 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
Используется 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
будет делать следующее:
На интерфейсах Mapper используйте аннотации org.apache.ibatis.annotations.Mapper
или org.springframework.stereotype.Repository
.
По умолчанию MyBatis-Spring-Boot-Starter
будет искать аннотированные мапперы.
Если вам нужно указать пользовательскую аннотацию или пометить интерфейс для сканирования, вы должны использовать аннотацию @MapperScan
для указания пути пакета (@MapperScan(com.self.ry.mapper)
).
При настройке MyBatis проверьте свойства класса MybatisProperties
, а затем установите соответствующие свойства в файле yml.
Добавьте зависимость:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
Особенности:
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 )