Giter Site home page Giter Site logo

gis-rookie-boot's Introduction

gis-rookie-Web 管理系统

当前最新版本: 2.0.0

后端技术架构

  • 基础框架:

    • Jeecg Boot 2.2.1 : 参考 jeecg-boot-module-system/README.md

    • SpringBoot 2.1.3.RELEASE

  • 持久层框架:Mybatis-plus_3.3.2

  • 安全框架:Apache Shiro 1.4.0,Jwt_3.7.0

  • 数据库连接池:阿里巴巴Druid 1.1.17

  • 缓存框架:redis

  • 日志打印:logback

  • 其他:fastjson,poi,Swagger-ui,quartz, lombok(简化代码)等。

开发环境

  • 语言:Java 8

  • IDE(JAVA): Eclipse安装lombok插件 或者 IDEA

  • 依赖管理:Maven

  • 数据库:MySQL5.0 & Oracle 11g

  • 缓存:Redis

技术文档

  • 模块名称

    • gis-rookie-boot: ccu-web父目录
    • jeecg-boot-base-common: 系统功能common模块
    • jeecg-boot-module-system: 系统功能模块
    • gis-rookie-web-bootstarter: CCU-WEB启动配置模块
    • gis-rookie-web-common: CCU 业务通用模块
    • gis-rookie-web-admin: CCU 业务管理模块
    • gis-rookie-web-api: CCU业务对外第三方API模块
  • 初始化仓库配置

    <mirror>
            <id>nexus-aliyun</id>
            <mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
            <name>Nexus aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror> 
  • 初始化项目名称:

    • application-dev.yml
    server:
      port: 8080
      tomcat:
        max-swallow-size: -1
      servlet:
        context-path: /gis-rookie
    • vue.config.js
    '/gis-rookie': {
        target: 'http://localhost:8080', //请求本地 需要jeecg-boot后台项目
        ws: false,
        changeOrigin: true
    }
    • public\index.html
    window._CONFIG['domianURL'] = 'http://127.0.0.1:8080/gis-rookie';
  • 初始化Swagger文档

    • org\jeecg\config\Swagger2Config.java
    @Bean
    public Docket createTerraCcuRestApi() {
    	return new Docket(DocumentationType.SWAGGER_2)
    			.apiInfo(apiInfo())
    			.groupName("CCU业务")
    			.select()
    			//此包路径下的类,才生成接口文档
    			.apis(RequestHandlerSelectors.basePackage("cn.edu.cuhk.terra.ccu.modules"))
    			//加了ApiOperation注解的类,才生成接口文档
    			.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
    			.paths(PathSelectors.any())
    			.build()
    			.securitySchemes(Collections.singletonList(securityScheme()));
    	//.globalOperationParameters(setHeaderToken());
    }    
  • 初始化或新增访问控制

    • org\jeecg\config\ShiroConfig.java
    filterChainDefinitionMap.put("/test/admin/**", "anon");
    filterChainDefinitionMap.put("/device/**", "anon");
  • 异常控制

    • org\jeecg\common\exception\JeecgBootExceptionHandler.java
    • 默认异常处理迁移
      • cn\edu\cuhk\terra\ccu\common\exception\TerraCcuExceptionHandler.java
    @ExceptionHandler(Exception.class)
    	public Result<?> handleException(Exception e){
    		log.error(e.getMessage(), e);
    		return Result.error("操作失败,"+e.getMessage());
    }

打包与发布

  • 打包前工作

    • maven管理器中执行 jeecg-boot-parent / Lifecycle / install
      • 开发过程中需要对已安装模块,需要clean
    • 如需线上修改的配置文件,置于 gis-rookie-web-bootstarter 的 resources
  • 打包: maven管理器中执行 gis-rookie-web-bootstarter / Lifecycle / install

  • 打包文件输出 $project-root/build

  • 解压

# unzip gis-rookie-web-app.zip
  • 手工运行
# cd gis-rookie-web-app
# nohup java -jar gis-rookie-web-bootstarter-2.2.1.jar &

gis-rookie-boot's People

Contributors

leon-ziya avatar

Watchers

 avatar

Forkers

gis29

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.