SpringBoot的优势
传统的spring框架在配置的时候需要的配置文件比较多
springboot框架纯注解,零配置,搭建速度快
启动依赖
对于传统的spring开发,需要手动导入许多所需要依赖的jar包,还会有jar包版本冲突的风险,而springboot
中则会自动引入依赖的jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
自动配置
springboot启动类会有@SpringBootApplication注解,该注解可以看做是三大注解的组合
点开该注解后,会发现@Configuration(配置类) @EnableAutoConfiguration(自动配置) @ComponentScan(扫描包)
这就使得我们不需要去写配置文件配置注解解析器,简化我们的开发
springboot更换内置服务器
springboot默认的服务器是tomcat,内置服务器还可以更换为Jetty和Undertow
Jetty与tomcat的区别
Jetty是一个开源的servlet容器,为基于Java的web容器提供运行环境。
- Jetty相对于tomcat而言是一个轻量级的容器
tomcat不仅遵循Servlet规范,自身扩展了大量的JavaEE特性满足一些大型企业级应用的需求,所以tomcat比Jetty来说是重量级,而且配置起来比jetty更为复杂。一些普通互联网项目并不需要这些特性,在这种情况下,tomcat就会浪费资源。在分布式的情况下,每个应用服务器使用Jetty会省出不少资源。而且,Jetty的轻量级使它处理高并发细粒度的请求更加快速高效。 - Jetty更为灵活,体现在可扩展行与可插拔性,由于Jetty更加轻量级,在面对一些过多要求的时候,可以对Jetty进行扩展,这远比对tomcat的丰富特性进行简化更为简单。
- 在支持大型企业应用时,tomcat的丰富特性就占据优势
总结:Jetty更满足公有云的分布式环境的需求,而Tomcat更符合企业级环境。
更换内置服务器步骤:
maven集成
- 在pom文件中先将springboot默认的tomcat服务器排除
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--排除tomcat-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
- 在引入Jetty的jar包
<!-- 引入jetty 服务器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
maven导入成功,启动即可。