tyboot
소개
tyboot 서버 기반 비계 springboot, 서비스 지향 모노머의 급속한 발전이다, 서비스는 마이크로 체계가 다른 프로젝트 tycloud을 볼 수있다 필요 (도 완성)
특징
1. 사업의 기초가되는 개발 프로세스 간소화 을 수행합니다. 단일 테이블 쿼리의 경우, SQL을 작성하지 않습니다. 목록, 페이징, 쓰지 않는다. 레이어 단지 빈 인터페이스 b.dao 매퍼, 대부분의 기업은 매퍼 (복잡한 보고서 쿼리는 제외) 매퍼의 XML 파일이 필요하지 않는 코드를 작성할 필요가 없습니다. 코드를 작성할 필요가 없습니다 서비스 계층에서 하나의 폼 객체의 CRUD를 사용하기위한 일반적인 방법의 큰 숫자를 c.baseService, 목록 및 페이지 매김 쿼리는 단 한 줄의 코드 만 필요합니다. D. 단일 테이블 조작을 옹호. 복잡한 SQL의 사용을 옹호하지 마십시오 복잡한 비즈니스 문제를 해결. 2. 학습의 비용을 절감 할 수 있습니다. 신규 이민자는 신속하게 사업 개발의 상태를 입력 할 수 있습니다, 빨리, 이민자의 기초가 국경을 건너 시작. 3. 공통 구성 요소가 통합되어 있습니다. 레디 스, MQ, 이벤트, MongoDB를 등 4. 일반적인 비즈니스 모델을 얻을 수 있습니다. 상자 밖으로 비즈니스 모델은 크게 프로젝트 개발주기를 줄일 수 있습니다. GM은 비즈니스 모델이 달성 할 계획 시스템, 시스템 가상 계좌, 지불 게이트웨이, 동적 양식,보고 시스템, 일반적인 예약 시스템 제공 사용자 정의 전략, 수주 내부 정보 기본 데이터 (확인 코드 사전, 위치 정보, 정보는 일반적인 파일에 저장 및 동작 레코드 수) 타사 시스템은 일반적으로 통합. SMS (알리 큰 물고기), 저장 (일곱 개 소, 알리 OSS), 임금 (마이크로 채널 공용 플랫폼, Alipay의)
기술 스택
1. SpringBoot 2.1.6.RELEASE 2. MyBatis로 플러스 3.x를 3 MyBatis로 스프링 부팅 스타트 1.2.0 5. Kaptcha 2.3.2 6. 잭슨 - 데이터 바인딩 2.9.7 (7) springfox-swagger2 2.2.2가 제 HikariCP 2.7.9
프로젝트 구조
tyboot ├─tyboot-API의 │의 ├─tyboot-API-부팅 샘플 프로젝트는, 데이터 사전, 권한 관리, 공통 기본 기능의 다른 프로젝트 달성 ├─tyboot 구성 요소를 ------ 구성 요소 │의 ├─tyboot - 컴포넌트 - ActiveMQ를 ------ 통합의 ActiveMQ │의 ├─tyboot - 컴포넌트 AMQP ---------- 스프링의 AMQP 쉽게 통합 │의 ├─tyboot 구성 요소 캐시 --------- 캐시, 페이징 쿼리를 구현 ZSET 더 구현 및 레디 스 패키지, 위치, 파이프 라인에 대한 분산 잠금 │의 ├─tyboot 구성 요소-EMQ가 ----------- 통합 MQTT 서비스 EMQ의 │의 ├─tyboot -component 이벤트가 --------- 사용 스프링기구기구 나머지 인터페이스, 이벤트 처리에 기초하여 이벤트를 달성하는 │의 ├─tyboot 성분계 몽고를 --------- 집적 몽고 │ ├─tyboot- 구성 요소 opendata은 인기 타사 개방형 인터페이스, 암소 일곱 마리, 물고기 알리, 텐센트 메신저, 오로라 푸시와 통합 ------ │의 └─tyboot 구성 요소 - 검증 ---- 매개 변수를 확인 ├─tyboot-core-- --------- 핵심 패키지는, 예를 들어 프로젝트는 일반적으로 참조합니다 │의 ├─tyboot - 코어 - 인증 --------------- 사용자 인증, 세션 공유 │의 ├─tyboot 코어 - 기반 --------- 일반적인 도구 라이브러리, 콩, 파일, 전송 목록 트리 구조, 암호화 및 암호 해독 등을하며 스레드 패키지의 컨텍스트 내에서. . . . . │ ├─tyboot 코어-RDBMS -------------- 통합 MyBatis로, mybatisplus, 단순화 포장 및 아가 ORM 일반 절차 │의 └─tyboot 코어-편안한 -------- ---- 인터페이스 패키지, 통합 인터페이스 문서, 균일 한 예외 처리의 편안한 스타일 요격 처리를 요청하고, 데이터 캡슐화, 캡슐화 컨텍스트 반환 └─tyboot 프로토 타입 ------ 일반적인 비즈니스 모델, 캡슐화에 대한 특정 비즈니스 시나리오를 달성 ├─tyboot - 프로토 타입 계정을 ------ 가상 계좌 시스템 ├─tyboot 프로토 타입 주문 -------- 보편적 인 주문 시스템 └─tyboot 프로토 타입 무역 -------- 간단한 지불 채널, Alipay의를 달성하기 위해, 마이크로 편지
디렉토리 규칙 :
예 : tyboot-API-권한 ---------------- 디렉토리 항목의 디렉토리 구조 다음은 동의 org.typroject.api.privilege합니다. 컨트롤러 인터페이스 디렉토리를 ------- 얼굴. ------------ 비즈니스 계층 모델 VO -------- ORM .--------- 데이터 조작 DAO ------ 매퍼 인터페이스 디렉토리 entity-- -po 디렉토리 서비스 ------ 비즈니스 클래스를 달성
약속
뱀
1.entity BaseEntity 상속 할 필요가 일반 필드없이 할 수 없어 해당 데이터 테이블 (20) 물리적 인 프라이 머리 키 BIGINT SEQUENCE_NBR (32)의 마지막 업데이트 ID의 REC_USER_ID의 VARCHAR를 REC_DATE의 날짜 마지막 업데이트 시간 mybatisplus을 사용하여 2,이 샘플 프로젝트 mapper.xml, baseMapper을 소개 할 필요가 없습니다 충분한 방법. 복잡한 쿼리를 수행 할 않는 XML 자신이 파일을 도입 할 수 당신이 코드로 작성됩니다 SQL, XML 또는 도입을 쓰고 싶어하지 않는 한, 정상적인 상황의 DAO 계층 매퍼 인터페이스에서 3 단지 하위 빈 인터페이스입니다.
서비스
1. baseService을 상속
공용 클래스 LocationInfoService는 BaseService를 확장 <LocationInfoModel, LocationInfo, LocationInfoMapper> {}
단지 반사 통해 메소드 명 획득 방법에 따른 인스턴스 바와 같이 메소드 2.service는 과부하되지. 3.service 층에만 구현 클래스, 귀찮게하지 않습니다, 이전 인터페이스를 포기했다. 4. 개체의 단일 형태의 동작은 서비스의 방법을 쓸 필요하지 않을 수 있습니다, 필요 매퍼, 충분히 일반적인 방법을 사용, 소개 없습니다 쿼리와 쿼리 예를 들어 단 한 줄의 코드 만의 페이징 목록 :
-
페이징 :
공개 페이지는 <DictionarieModel는> queryDictPage (쪽 페이지, 문자열 agencyCode, 문자열 buType, 문자열 dictAlias는 @Condition (Operator.like) 문자열 dictName, 문자열 dictCode)는 예외가 발생 { "字段排序"this.queryForPage (페이지를 반환 거짓, agencyCode을 , buType, dictAlias, dictName, dictCode); }
요구와 해당 모델은 매개 변수 쿼리와 같은 이름의 속성 명. PARAMS 파라미터리스트 baseService.queryForPage에게 필요한 방법과 동일한 순서로, 앞의 (queryDictPage) 파라미터 전달 자동적으로 파라미터의 이름과 빈 판정 값 기본 사전 분석 방법을 다음 조립 된 상태를 구축하는 데이터베이스 필드 이름으로 변환 장치. 참고 @Condition는 조건 연산자를 정의하는 데 사용, 페이지의 운영자가 실현 조건 연산자, 모든 논리와 관계형 쿼리입니다 현재 구현하거나 관계하지 않을 계획.
-
동일한 매개 변수 페이징와 목록 :( 계약)
공개 목록은 <DictionarieModel> queryDictList (문자열 agencyCode는, 문자열 buType는, 문자열 dictAlias이 @Condition (Operator.like) 문자열 dictName, 문자열 dictCode)이 예외를 throw { 거짓 "排序字段"(this.queryForList를 반환 agencyCode, buType, dictAlias, dictName, dictCode); }
제어 장치
1. 통합 반환 값, 모든 인터페이스의 ResponseModel 패키지 통합 반환 값. 2. 사용자 주석 @TycloudOperation는 액세스 레벨 ApiLevel 인증 제어 인터페이스를 정의하기 위해 사용 needAuth
캐시 소개
1. 단일 Form 객체 캐시, 객체 새로 고침으로 업데이트 할 수있는 목록을 baseService 방법에 통합 된 하나의 테이블을 캐시 나 캐시를 삭제, 당신이 사용할 수있는 방법을 선택하기 위해 메모를 볼 수 있습니다. 2. 기타 버퍼 장면을 직접 rediTemplate 운영 권장 및 계산 위치 쿼리; 3.tyboot 구성 요소 캐시 모듈은 페이징 쿼리를 기반으로 레디 스의 ZSET를 제공 레디 스 파이프 라인을 사용하여
코드 생성기를 사용하여
1. 제공된 코드 생성기 mybatisplus를 사용하여 프로젝트 예를 참조.
모범 사례
구성 요소 패키지 포장 및 PW 넥서스 통합 관리를 받는다는을 발표 1. tyboot 코어 및 tyboot 구성 요소 및 프로젝트가 다양한 사례를 인용 사업 개발 프로젝트 후, 프로젝트 사업 등의 예를 많이 청소기입니다, 빠른 패키지 당신은 어떤 시간 tyboot 참조 버전으로 업그레이드 할 수 있습니다.
다음 단계
1. 기본 모듈을 개선 3. 일반적인 비즈니스 모델을 개선 4. 통합 웹 끝을