知识点汇总(五)SpringbBoot

SpringBoot

Spring 是一个“引擎”;

Spring MVC 是基于Spring的一个 MVC 框架;

Spring Boot 是基于Spring4的条件注册的一套快速开发整合包。

spring boot只是一个配置工具,整合工具,辅助工具。

Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的ioc和 aop,ioc 提供了依赖注入的容器, aop解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。SpringBoot与SpringMVC的区别

Spring MVC提供了一种轻度耦合的方式来开发web应用。它是Spring的一个模块,是一个web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。

Spring Boot实现了自动配置,降低了项目搭建的复杂度。它主要是为了解决使用Spring框架需要进行大量的配置太麻烦的问题,所以它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box)。

Spring Boot只是承载者,辅助你简化项目搭建过程的。如果承载的是WEB项目,使用Spring MVC作为MVC框架,那么工作流程和你上面描述的是完全一样的,因为这部分工作是Spring MVC做的而不是Spring Boot。

对使用者来说,换用Spring Boot以后,项目初始化方法变了,配置文件变了,另外就是不需要单独安装Tomcat这类容器服务器了,maven打出jar包直接跑起来就是个网站,但你最核心的业务逻辑实现与业务流程实现没有任何变化。

为什么配置简单?

首先,了解它是何如加载配置文件的。先说结论:springboot加载配置文件是通过listener监听器实现的。

SpringBoot的启动类
run()方法

在容器启动完成后会广播一个SpringApplicationEvent事件,而SpringApplicationEvent事件是继承自ApplicationEvent事件的,代码如下:(下面还有一堆,有兴趣请深入了解点击查看详细,感谢这位老哥的分享)最终读到了aplication.properties这个文件

ps:文件类型默认的有四种:properties、xml、yml、yaml


aplication.properties


aplication.properties

通过设置spring.profiles.active加载对应的配置文件 aplication-dev.properties


aplication-dev.properties

配置文件包括了:数据库链接、

mybatis:扫描mapper.xml

mybatis

redis、AMQ

redis、AMQ

分页、上传、日志


分页、上传、日志

日志的详细配置

启动时的控制台输出


综上,仅靠这个配置文件就完成了SpringBoot的配置

如果项目采用Maven,则还需要配置pom.xml


springboot中使用springmvc

要在springboot中使用springmvc,只需要引入spring-boot-starter-web即可(前提是项目的pom文件是继承自spring-boot-starter-parent)SpringMVC的配置

项目的依赖下包均靠Maven来管理

你可能感兴趣的:(知识点汇总(五)SpringbBoot)