同福

做个java框架(1)——创建工程【20201227】

介绍

介绍

从今天起福哥将带着大家开发一套基于Java语言的web框架。早期的Java框架类似PHP,使用的是java+jsp的组合实现模块和页面功能的,后来由于jsp这种模式的可维护性和性能远远不及php程序(因为即便是jsp也是需要编译后才能运行的,也就是说jsp首次运行会很慢,但是人家php就没有这个问题),索性全部使用java来实现模块和模板的功能了。

福哥要带着大家开发的基于Java语言的框架不是原始到从Servlet时代重新造轮子,还是要站在巨人的肩膀上做事情比较好,所以福哥的框架准确说是基于Java的开源框架SpringBoot来开发,所以新框架的名字也和SpringBoot有关联,叫做——TFSpring。

大名鼎鼎的Spring框架相信没有Java工程师不知道的吧?我们就在SpringBoot基础之上组织一些常用的依赖库,最重要的是福哥会将这些依赖库作一层封装处理,这样我们使用起来就会更加得心应手了!

为什么要封装?为什么不直接用?福哥习惯在原生对象外面封装一层,这样的好处是哪天这个库不更新了,我们可以更换其他库而不需要更改业务层代码,这是一种很好的设计理念~~

创建项目

既然是基于SpringBoot开发,那么自然要先建立一个SpringBoot项目了。福哥在前面的教程里面有讲过如何使用IDEA创建SpringBoot项目,这里就不在重复了,不会的童鞋可以参看【20200901】搭建Java运行环境IntelliJ版的教程操作。

b7871d78b1ca0db8.jpg

项目环境

IDE

福哥使用的开发工具是IDEA 2019,大家可以使用自己喜欢的工具开发(什么?大家用的也是IDEA?我早就猜到了~~)。

Maven

福哥使用的Mavan版本是3.6.1(什么?大家也是这个版本?好巧啊~~)。

04a6798a301148a3.jpg

JDK

福哥使用的JDK版本是11(什么?又一样?)。

<properties>
    <java.version>11</java.version>
</properties>

调试

福哥在框架下面建立了一个demo包目录,用来调试我们的框架功能。一般情况下Java的运行环境都是基于MVC的,所以福哥在demo包目录下面建立了controller、model、entity、config几个目录。

下面我们实现一个简单的接口控制器代码功能。

package net.tongfu.tfspring.demo.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DemoController {

    @RequestMapping ("/demo")
    public String responseDemo(){

        return "这是一个来自TFSpring框架的Demo控制器程序,我们要和福哥一起开发Java程序了!";
    }
}

79ada4f8a9673e8c.jpg

框架设计

首先SpringBoot框架给我们完成了开发项目的全部依赖库,我们在项目当中想用什么就可以在pom.xml理添加依赖库就可以使用了。

那么为什么我们还需要自己开发框架呢?前面已经说过了,首先很多同学在第一次接触Java的时候在使用SpringBoot开发项目的时候是茫然不知所措的,这里福哥会带着大家把常用的依赖库使用起来,新手童鞋就可以轻松上手了;其次Java的类似功能的库非常多,有的用着用着就retired(不更新)了,如果我们在系统层封装一下,就可以实现不更改逻辑层的代码替换依赖库的目的了;最后所谓的框架其实就是一个自己用着舒服的开发环境,每个人都可以开发自己的框架,福哥这里算是抛砖引玉吧!

综上所述,福哥在带着大家开发TFSpring的这段时间里,实际上就是带着大家熟悉各种Java的依赖库的使用技巧。欢迎老手指正,欢迎新手讨论!

总结

今天福哥给童鞋们介绍了TFSpring的设计初衷和设计思路,今后福哥会一点点的和大家一起完成TFSpring框架的开发完善工作,相信大家也会在这个过程中学习到项目开发的方法、技巧和经验。