1、什么是SpringBoot框架。
SpringBoot是一个快速整合第三方框架;简化xml配置,完全采用注解化;内置http服务器(jetty和tomcat) ,最终是以java应用程序执行。
注意:SpringCloud底层依赖于SpringBoot实现微服务接口(SpringBoot Web组件集成SpringMVC),采用SpringMVC书写接口。
2、SpringBoot原理分析。
2.1、快速整合第三方框架,原理是:maven子父依赖关系,相当于需要整合的环境的Jar封装好依赖信息。
2.2、完全无配置文件(采用注解化)。如何初始化呢?没有web.xml那么tomcat是如何启动的呢?注解是在spring2.5以上开始,SpringMVC内置注解加载整个SpringMVC容器。使用java代码编写SpringMVC配置初始化。@EnableWebMvc注解。
2.3、内置http服务器,原理是使用java语言创建tomcat容器,加载class文件。
3、代码实现。
3.1、pom.xml文件,需要依赖的jar包。
1 | xml复制代码<dependencies> |
3.2、启动程序的main类。
1 | java复制代码public class AppTomcat { |
3.3、加载SpringMVC的DispatchServlet类。
AbstractAnnotationConfigDispatcherServletInitializer这个类负责”初始化Spring容器、SpringMVC容器、配置DispatcherServlet“。getRootConfigClasses()方法用于获取Spring应用容器的配置文件,这里我们给定预先定义的RootConfig.class;getServletConfigClasses负责获取Spring MVC应用容器,这里传入预先定义好的WebConfig.class;getServletMappings()方法负责指定需要由DispatcherServlet映射的路径,这里给定的是”/“,意思是由DispatcherServlet处理所有向该应用发起的请求。
1 | scala复制代码public class MyWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { |
3.4、加载Spring容器
1 | less复制代码/** |
3.5、加载SpringMVC容器
正如可以通过多种方式配置DispatcherServlet一样,也可以通过多种方式启动Spring MVC特性。原来我们一般在xml文件中使用mvc:annotation-driven元素启动注解驱动的Spring MVC特性。
1 | less复制代码/** |
3.6、Controller和Service层方法。
1 | kotlin复制代码@RestController |
1 | typescript复制代码@Service |
4、具体源码,请查看码云:gitee.com/llsydn_admi…
本文转载自: 掘金