SpringBoot:约定优于配置、配置自动装载
是基于Spring4的条件注册的一套快速开发整合包。Spring boot对第三方技术进行了很好的封装和整合,提供了大量第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),达到开箱即用的目的;可以通过依赖自动配置,不需要XML等配置文件,内置例如tomcat容器服务器,降低了项目搭建的复杂度。
入口方法上有一个@SpringBootApplication注解,等同于三个注解(
@SpringBootConfiguration:读取配置文件,配置文件的路径是当前根目录(src/main/resources/application.yml等)
@EnableAutoConfiguration:开启自动配置,扫描当前的所有依赖的jar包,发现新的依赖出现将会将会根据依赖完各种自动配置
@ComponentScan:扫描范围默认情况下是启动类坐在的同名包及其子孙包
),其中就有一个@ComponentScan扫包注解,默认扫描当前包,这就不需要像spring的配置。
controller为什么能用@Autowired引用service,因为service上加了注解之后,由spring来创建对象,并交由spring IOC容器统一管理。
解密spring-boot-starter
如果要集成第三方的东西,记住一点,引入starter
starter的作用:
- starter自动引入相关的jar包( starter.jar)
- starter自动完成bean配置(autoConfigure.jar)
如何手动制作一个第三方lib的starter
一:准备第三方的jar
二:制作starter
1建工程
2引入spring-boot-start、spring-boot-autoconfigure,第三方jar
3如需要生成配置元信息,加入spring-boot-configuration-processor依赖
4编写自动配置类
5配置发现配置文件:META-INF/sping.factories
6打包发布
springMvc:
是基于Spring的一个 MVC 框架,提供了一种轻度耦合的方式来开发web应用
请求--->前端控制器(DispatchServlet)--->处理器映射器(HandlerMapping)--->处理器适配器(HandlerAdapter)--->具体处理器(controller)--->返回ModelAndView--->视图解析器(ViewResolver)--->返回view--->前端控制器进行渲染加载