SpringBoot(三)——项目结构

写在前面

这篇文章纯粹介绍Spring Boot的项目结构,也不能说是Spring Boot的项目结构,事实上MVC架构的项目结构大致也就这样。先来张图:

SpringBoot(三)——项目结构_第1张图片

就借着这张图来解释一下各个目录的作用。

pom.xml

这个文件是存在于Maven项目中管理依赖的文件,其中注明了项目的名称、构建版本、依赖等等。最主要的功能是管理依赖。我们使用框架,需要从外部引入jar包,项目依赖于这些jar包,这就是依赖。不使用Maven的情况下,每次新建工程我们都需zheyang要手动下载所需要的依赖,然后加入到工程中。但是这些依赖一般是十分复杂的,一个jar包依赖于另一个jar包,有时候版本不兼容就会引发一些问题。手动管理依赖是十分头疼的,使用Maven就不一样了,我们只需要在POM文件中添加几条语句,然后Maven就会通过这几条语句中配置的依赖名、版本号、各种配置信息等等在Maven的中央仓库中下载这些依赖到本地仓库,并且以后不用再次下载,可以重复使用,顿时神清气爽,从此走向人生巅峰。

test包

test包通常是用来存放JUnit测试所需文件用的。那么问题又来了,什么是JUnit?JUnit是一个Java语言的单元测试框架。知道这个就行了,我们写的代码难免有些Bug,常常会跑不通,这时候那叫一个心力交瘁,感觉自己又老了几十岁,这时候就需要单元测试,写一部分测试一部分,省得到时候代码都写得差不多了,然后运行不出来,找错误都无从下手。JUnit可以帮助你找出代码中错误的大致位置。嗯,大概就是这样。

src目录

src目录是用来存放源码的目录,其中main文件夹先不管它,main下的java目录是用来存放Java代码的,resources是用来存放资源文件(包括各种配置文件、一些资源文件,也可以存放一些静态资源)的。

application.properties(application.yml)

这是一个配置文件,用来定义数据库的连接语句、用户名、密码,以及内置服务器的端口号,日志,等等Spring Boot和其它依赖的配置信息。就像这样:

这是一个application.properties配置文件,定义了端口号,数据库驱动的连接类、连接语句、用户名、密码。

SpringBoot(三)——项目结构_第2张图片

这是一个application.yml配置配置文件,可以看出来内容上和上面那文件基本没啥区别,只是写法上的区别,实际上这两个文件的作用都是一样的,但是很明显下面这种更便捷,但是它依赖SnakeYAML,spring-boot-starter包含了这个依赖。

com.example

这个包是自己建的包,通常存放Java代码的包都是用域名反写,里面包含了存放各级代码的包和一个入口类。

MainApplication

Spring Boot应用程序的入口类,实际上就是普通的Java类,类名什么的都可以自己起,只是要在里面加入Spring Boot的注解和main方法。

pojo包

用于存放实体类,也就是需要操作的对象的类,一般情况对应数据库中各个表,类中属性对应数据库中各个字段。

repository包

用于存放实现JPA的接口。JPA是Spring Boot操作数据库的接口,用于单表操作。这一层相当于MVC中的DAO层,用来操作数据库,这一层不一定要使用JPA,也可以用Mybatis之类的代替。包名repository只是JPA常用的包名,它也可以是dao或者mapper(Mybatis)。

service包

存放业务层的接口。子目录impl是存放接口的实现类。这一层用于处理代码业务逻辑。

controller包

存放控制器类,用于接收前台页面请求,并返回结果。

总结

前面都是Spring Boot和Maven的配置。后面的包是标准的Java Web结构,几层结构逐层调用,低耦合,方便后期管理和更改。

你可能感兴趣的:(SpringBoot(三)——项目结构)