SpingBoot 是什么?
SpringBoot以下简称SB ,SpringBoot是SpringMVC的升级版本,先看下SpringMVC的请求流程
顾名思义MVC是指
model,view ,controller
m封装应用程序的数据
v负责渲染模型数据,一般来说它生成客服端浏览器可以解释的HTML输出
c负责处理用户请求并构建适当模型,并将其传递给视图进行渲染
大都是通过映射去访问,配置web.xml实现交互,然鹅SB帮我们省去这些麻烦又及其恶心的步骤。但是,SB依然存在分层。
SB是javaWEB目前比较流行的微服务框架,减少在配置上所花费的精力和时间成本,重点放在业务上(废话)。
SB给我直观感受就是,不需要像SpringMVC,那样去花大力气研究底层实现。只是注重怎么做,因为这个都是一个模板,换句话说,在使用SB的时候,只需知道这样做,不要问为啥这么做。
开发框架的作用就是减少代码冗余使得代码清晰,
aging:SB是SMVC的升级简洁版,只是省略掉繁琐的配置 我的理解
SpringBoot 入门小栗子:
前提条件,工欲善其事必先利其器。
IDEA+maven+ JDK1.8
有很多方法创建SpringBoot 项目,但是我还是觉得使用IEAD的spring boot initialization 有非一般的感觉,还有一个是手动新建一个maven工程,,然后引入SpringBoot 的dependency来完成springboot工程导入
删除无用文件
一个小栗子
这个包主要用来放控制类,顾名思义控制类负责url请求跳转的,比如这个控制类内容如下
首先这个注解@RestController 这个官网讲的比较正式,我的理解就是说,在类中有@RestController 都认为是控制类,@RequestMapping 这个注解就是映射了,就是请求的地址
因为SB定位的前后端分离,所以后期会联调测试,所以在开发SB项目中,只要注重业务即可。
接下来,解析SB项目
解析SB项目工程
先看pom.xml
groupId 是指项目组ID,一般是com.xxx.xxx.xxx
artifactI的 是指这个项目组下面的项目ID,可以理解为项目名
接下来便是版本号和打包方式
这里就是项目本身的引用
这2个是springBoot项目必须要有的,记得官网解释时测试会用到
项目build的时候会用到
这个就比较重要了,是在配置父依赖的时候用到,简单说你这个项目依赖于哪个项目
有了这个,当前的项目才是 Spring Boot 项目,spring-boot-starter-parent 是一个特殊的 starter ,它用来提供相关的 Maven 默认依赖,使用它之后,常用的包依赖就可以省去 version 标签。
应用入口类
Spring Boot 项目通常有一个名为 *Application 的入口类,入口类里有一个 main 方法,这个 main 方法其实就是一个标准的 Javay 应用的入口方法。
@SpringBootApplication是 Spring Boot 的核心注解,它是一个组合注解,该注解组合了:@Configuration、@EnableAutoConfiguration、@ComponentScan;若不是用 @SpringBootApplication 注解也可以使用这三个注解代替。
其中,@EnableAutoConfiguration 让 Spring Boot 根据类路径中的 jar 包依赖为当前项目进行自动配置,例如,添加了 spring-boot-starter-web 依赖,会自动添加 Tomcat 和 Spring MVC 的依赖,那么 Spring Boot 会对 Tomcat 和 Spring MVC 进行自动配置。
Spring Boot 还会自动扫描 @SpringBootApplication 所在类的同级包以及下级包里的 Bean,所以入口类建议就配置在 grounpID + arctifactID 组合的包名下(这里为 cn.wmyskxz.springboot 包)
Spring Boot 的配置文件
Spring Boot 使用一个全局的配置文件 application.properties 或 application.yml,放置在【src/main/resources】目录或者类路径的 /config 下。
Spring Boot 不仅支持常规的 properties 配置文件,还支持 yaml 语言的配置文件。yaml 是以数据为中心的语言,在配置数据的时候具有面向对象的特征。
Spring Boot 的全局配置文件的作用是对一些默认配置的配置值进行修改。