自定义手写SpringBoot框架(带使用案例)

 

过了个年,现在才想起来写博客,废话不多说,先谈一下开发环境与实现概况:

开发环境:

使用JDK11,IDEA2018,Mysql8.0,gradle5.0;

实现概况:

提供了Spring、SpringMVC、Mybatis、Log4j(半成品)可供选择的组件,均是自定义的,详情可以参见我的上一篇博客《自定义手写SSM框架2.0(带小案例)》;

内嵌了tomcat8.5容器,web容器暂时还没有自定义手写的版本,所以选择自己导入;

未提供应用监控等功能,只是实现了基本的自动配置;

ps:需要使用构建工具,因为框架内部路径都是采用src/main/java/*的形式,如果不使用会导致路径出错;

 

导入的jar文件:

    testCompile group: 'junit', name: 'junit', version: '4.12'
    
    // tomcat相关,springboot2.1版本使用tomcat9.0.13
    // 在使用9.0.13版本出现问题,从而使用8.5
    compile 'org.apache.tomcat.embed:tomcat-embed-core:8.5.13'

    compile 'mysql:mysql-connector-java:8.0.13'

    compile 'cglib:cglib:3.2.5'

 

工程结构: 

自定义手写SpringBoot框架(带使用案例)_第1张图片

com.lsm1998源码包内存放框架源码;

test源码包内存放案例项目的源码;

static目录内存放案例项目的静态资源;

templates目录内存放案例项目的模板资源,外部的请求无法直接访问,必须通过内部控制器的跳转;

key.properties文件存放请求跳转的uuid,通过uuid的方式阻止外部的请求直接访问templates目录(自创的拦截方式,Spring官方不是这样做的);

myspringboot.properties文件代表项目的配置;

sql.txt存放数据库初始数据;

 

案例项目的使用截图就略过了,笔者在windows10和centos7都测试过了,案例项目比较简单,读者完全可以自行扩展。

 

下载地址:https://pan.baidu.com/s/1OTEpFicsNEhZypBiZMSw8Q

你可能感兴趣的:(SpringBoot)