什么是SpringBoot框架
SpringBoot是一个快速整合第三方框架。简化xml配置,完全采用注解化;内置HTTP服务器(Jetty和Tomcat),最终以Java应用程序执行。
注意:SpringBoot不是微服务框架。SpringCloud底层依赖于SpringBoot实现微服务接口(SpringBoot Web组件集成SpringMVC),采用SpringMVC书写接口。
SpringBoot原理分析
-
快速整合第三方框架。原理是:Maven子父依赖关系,相当于将需要整合的jar封装好依赖信息。
-
完全无配置文件(采用注解化)。那么如何初始化呢?没有web.xml那么tomcat是如何启动的?注解是在spring3.0以上开始,SpringMVC内置注解加载整个SpringMVC容器。使用Java代码编写SpringMVC配置初始化。@EnableWebMvc注解。
-
内置HTTP服务器。原理是使用Java语言创建Tomcat容器,加载class文件。
代码实现。
1.pom.xml文件,需要依赖的jar包。
<dependencies>
<!--Java 语言操作Tomcat-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>8.5.23</version>
</dependency>
<!--tomcat 对象jap的支持-->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jasper</artifactId>
<version>7.0.47</version>
</dependency>
</dependencies>
2.servlet类
/**
* Create bySeptember
* 2019/4/9
* 15:13
*/
public class IndexServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().print("this is index by tomcat exe");
}
}
3.启动程序的main类。
public class TomcatServer {
public static void main(String[] args) throws LifecycleException, InterruptedException {
//创建tomcat服务器
Tomcat tomcatServer = new Tomcat();
//设置port
tomcatServer.setPort(8085);
//是否设置自动部署
tomcatServer.getHost().setAutoDeploy(false);
//创建上下文
StandardContext standardContext = new StandardContext();
//Path上下文路径
standardContext.setPath("/jiuyue");
//监听上下文
standardContext.addLifecycleListener(new Tomcat.FixContextListener());
//tomcat容器添加standardContext上下文
tomcatServer.getHost().addChild(standardContext);
//创建servlet
tomcatServer.addServlet("/jiuyue", "indexServlet",new IndexServlet());
//servlet URL映射
standardContext.addServletMappingDecoded("/index","indexServlet");
tomcatServer.start();
System.out.println("Java语言创建Tomcat启动成功");
//异步进行接收请求
tomcatServer.getServer().await();
}
}
访问http://localhost:8085/jiuyue/index
浏览器返回 this is index by tomcat exe