动手写个java快速开发框架-(0)三方库

2018-09-10  本文已影响122人  monkey01

开篇里也已经说了,这个快速开发框架是依赖于很多成熟的第三方开源库的,为什么不像很多大厂那样直接fork一些开源框架进行深度二开,其实原因很简单,一方面是没有那么多时间,另一方面是对性能和功能没那么多定制化需求的产品来说没必要花那么大精力在自研上,最后一方面是不做深度自研的好处是可以很方便的随着三方库的升级跟着升级,能够跟着官方开源库的升级而一起升级,如果是自研的话那么还要手工将官方高版本中修复的bug代码再merge到自研框架上,工作量可想而知。本篇我们就介绍下我们一共用了多少三方库。

下面直接贴出pom,我们看下有哪些依赖。

    <dependencies>
        <!--测试基础类库,包含junit、mokito等测试组件-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
         <!--springboot web核心库-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--springboot aop的切面类,用到了spring aspect相关功能实现切面注解-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <!--springboot redis组件库,主要是RedisTemplate基本功能的封装-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
         <!--mybatis plus出的springboot组件库,在mybatis的基础上又做了易用性封装-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>${mybatis-plus-boot-starter.version}</version>
        </dependency>
         <!--mysql驱动,如果是其他数据库,可以打开下面其他数据库驱动注释-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
        </dependency>
        <!--oracle驱动-->
        <!--<dependency>-->
        <!--<groupId>com.oracle</groupId>-->
        <!--<artifactId>ojdbc6</artifactId>-->
        <!--<version>${oracle.version}</version>-->
        <!--</dependency>-->
        <!--postgresql驱动-->
        <!--<dependency>-->
        <!--<groupId>org.postgresql</groupId>-->
        <!--<artifactId>postgresql</artifactId>-->
        <!--</dependency>-->
        <!--阿里巴巴开源的数据库连接池druid,可以高效实现数据库连接池和多数据源配置,并且可以在console端进行数据库慢sql监控-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>${druid.version}</version>
        </dependency>
        <!--java common基础类-->
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>${commons.lang.version}</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>${commons.io.version}</version>
        </dependency>
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>${commons.codec.version}</version>
        </dependency>
        <dependency>
            <groupId>commons-configuration</groupId>
            <artifactId>commons-configuration</artifactId>
            <version>${commons.configuration.version}</version>
        </dependency>
        <!--jwt token访问控制库-->
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
            <version>${jwt.version}</version>
        </dependency>
        <!--swagger2接口文档库-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${swagger.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${swagger.version}</version>
        </dependency>
        <!--阿里巴巴 json解析库-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>
        </dependency>
        <!--hutool工具百宝箱库,全是常用的util工具类-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>${hutool.version}</version>
        </dependency>
    </dependencies>

从上面这个pom中,大家可以知道这个快速开发框架中依赖了哪些现有的轮子,如果已经零散用过这些轮子的同学后续的文章看起来会更加方便一些,没用过的同学也没关系,相关的文章在我以前的文章中基本也都有单独介绍过,可以去看看。跟着做的同学可以先创建一个java maven工程,将pom依赖复制进去,然后导入相关类库,再创建一个springboot的启动Application类和一个controller类,就可以跑起来了,不想自己写的同学也可以去git上拉代码直接看,git上的代码我会随着文章的进度慢慢更新,每一篇文章结束后都会打上tag,方便大家拉相关的代码查看。

Mk Framework:https://github.com/feiweiwei/MkFramework4java.git

上一篇 下一篇

猜你喜欢

热点阅读