SpringBoot的介绍、项目结构、搭建
SpringBoot的介绍、项目结构、搭建
一、什么是SpringBoot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者
简单的来说就是一个web框架,能够让我们快速的开发一个web应用,也就是能够让我们快速的把后端实现,
后端配合前端一起构成了应用,也就是开发好了一个网站
二、特点(了解即可)
(1)可以创建独立的[Spring](https://baike.baidu.com/item/Spring/85061)应用程序,并且基 于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
(2)内嵌Tomcat或Jetty等Servlet容器;
(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
(4)尽可能自动配置Spring容器;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要XML配置
三、SpringBoot项目结构
如果从一个用户访问一个网站的情况来看,对应着项目代码结构来分析,可以贯穿整个代码分层
底层结构图:
对应代码目录的流转逻辑就是:
四、SpringBoot分层
1.Dao/mapper:数据持久层
Dao层主要做数据持久层的工作, 负责与数据库进行联络的一些任务都封装在此。
Dao层的设计:首先 是设计dao层的接口,然后在Spring的配置文件中定义此接口的实现类,
然后就可以再模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,
显得结构非常清晰,dao层的数据源配置,以及有关数据库连接参数都在Spring配置文件中进行配置。
2.Service层:数据服务层
Service层主要负责业务模块的应用逻辑应用设计。
Service层的设计:同样是首先设计接口,再设计其实现类,接着再Spring的配置文件中
配置其实现的关联。这样我们就可以在应用中调用service接口来进行业务处理。
service层的业务实, 具体要调用已经定义的dao层接口 ,
封装service层业务逻辑有利于通用的业务逻辑的独立性和重复利用性。程序显得非常简洁。
3.Controller层:控制层
Controller层,负责具体的业务模块流程的控制,在此层要调用service层的接口来控制
业务流程,控制的配置也同样是在Spring的配置文件里进行,针对具体的业务流程,
会有不同的控制器。我们具体的设计过程可以将流程进行抽象归纳,设计出可以重复利用的
子单元流程模块。这样不仅使程序结构变得清晰,也大大减少了代码量
4.view层
view层与控制层结合比较紧密,需要二者结合起来协同开发。
view层主要负责前台jsp页面的显示。
5.Entity/Model:数据模型
Entity层是实体层,也就是所谓的model,也称为pojo层,是数据库在项目中的类,该文
件包含实体类的属性和对应属性的set、get方法
五、它们之间的关系
Service层是建立在Dao层之上的,建立了Dao层后才可以建立Service层,而Service层又
是在Controller层之下的,因而 Service层应该既调用Dao层的接口,又要提供接口给
Controller层的类来进行调用,它刚好处于一个中间层的位置。 每个模型都有一个
Service接口,每个接口分别封装各自的业务处理方法。
六、总结
Controller层叫做控制层,负责请求转发,接受页面过来的参数,传给Service处理,接
到返回值,再传给页面。即用于接口暴露。
Service层叫服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封
装成一个服务。即sevice层用于逻辑处理,sevice层专注业务逻辑,对于其中需要的数据
库操作,都通过Dao去实现。
Dao层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操
作,具体到对于某个表、某个实体的增删改查,不涉及业务逻辑,只是达到按某个条件获得
指定数据的要求。
View层叫做表示层,此层与控制层结合比较紧密,需要二者结合起来协同工发。View层主
要负责前台jsp页面的表示。
表示层(View\Web) 调用控制层(Controller),控制层(Controller)调用业务层
(Service),业务层(Service)调用数据访问层(Dao)Dao面向表,Service面向业
务。后端开发时先数据库设计出所有表,然后对每一张表设计出Dao层,然后根据具体的业
务逻辑进一步封装Dao层成一个Service层,对外提供成一个服务
Tomcat:服务器