Springboot介绍(超详细)

目录

一、Spring和Springboot的区别及其注意事项什么?

         二、忽略文件技巧,这样就可以减少很多不必要的文件生成

三、SpringBoot  Parent讲解

 四、stater的介绍

五、引导类的介绍

六、Springboot内置tomcat(辅助功能必看)可以更改服务


一、Spring和Springboot的区别及其注意事项什么?

Springboot介绍(超详细)_第1张图片

Springboot介绍(超详细)_第2张图片

Springboot介绍(超详细)_第3张图片

二、忽略文件技巧,这样就可以减少很多不必要的文件生成

Springboot介绍(超详细)_第4张图片

三、SpringBoot  Parent讲解

Springboot介绍(超详细)_第5张图片Springboot介绍(超详细)_第6张图片

小结:

  1. 开发SpringBoot程序要继承spring-boot-starter-parent
  2. spring-boot-starter-parent中定义了若干个依赖管理
  3. 继承parent模块可以避免多个依赖使用相同技术时出现依赖版本冲突
  4. 继承parent的形式也可以采用引入依赖的形式实现效果

按住Ctrl点击pom.xml中的spring-boot-starter-dependencies,跳转到了spring-boot-starter-dependencies的pom.xml,xml配置如下(只摘抄了部分重点配置):


  	5.15.3
  	2.7.7
  	1.9.63
  	2.4.0
  	1.8.13
  	3.9.1
  	4.0.6
  	2.1.4
  	3.0.0
  	1.7.11
  	... ... ...


  	
      	
        	org.springframework.boot
        	spring-boot
        	2.0.1.RELEASE
      	
      	
        	org.springframework.boot
        	spring-boot-test
        	2.0.1.RELEASE
      	
      	... ... ...
	


  	
    	
      		
        		org.jetbrains.kotlin
        		kotlin-maven-plugin
        		${kotlin.version}
      		
      		
        		org.jooq
        		jooq-codegen-maven
        		${jooq.version}
      		
      		
        		org.springframework.boot
        		spring-boot-maven-plugin
        		2.0.1.RELEASE
      		
          	... ... ...
    	
  	

 四、stater的介绍

 Springboot介绍(超详细)_第7张图片


  • starter

        SpringBoot中常见项目名称,定义了当前项目使用的所有依赖坐标,以达到减少依赖配置的目的

  • parent

        所有SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的
spring-boot-starter-parent各版本间存在着诸多坐标版本不同

  • 实际开发

        使用任意坐标时,仅书写GAV(groupId, artifactId, version)中的G和A,V由SpringBoot提供,除非SpringBoot未提供对应版本V

小结:

  1. 开发SpringBoot程序需要导入坐标时通常导入对应的starter
  2. 每个不同的starter根据功能不同,通常包含多个依赖坐标
  3. 使用starter可以实现快速配置的效果,达到简化配置的目的

五、引导类的介绍

  • 启动方式
@SpringBootApplication
public class Springboot0101QuickstartApplication {

    public static void main(String[] args) {
        ConfigurableApplicationContext ctx = SpringApplication.run(Springboot0101QuickstartApplication.class, args);
        //获取bean对象
        BookController bean = ctx.getBean(BookController.class);
        System.out.println("bean======>" + bean);
    }
}
  • SpringBoot的引导类是Boot工程的执行入口,运行main方法就可以启动项目
  • SpringBoot工程运行后初始化Spring容器,扫描引导类所在包加载bean

小结:

  1. SpringBoot工程提供引导类用来启动程序
  2. SpringBoot工程启动后创建并初始化Spring容器

六、Springboot内置tomcat(辅助功能必看)可以更改服务

Springboot介绍(超详细)_第8张图片

  • 使用maven依赖管理变更起步依赖项
    
        
            org.springframework.boot
            spring-boot-starter-web
            
            
                
                    org.springframework.boot
                    spring-boot-starter-tomcat
                
            
        
        
        
            org.springframework.boot
            spring-boot-starter-jetty
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

  • Jetty比Tomcat更轻量级,可扩展性更强(相较于Tomcat),谷歌应用引擎(GAE)已经全面切换为Jetty
  • 内置服务器

        tomcat(默认) apache出品,粉丝多,应用面广,负载了若干较重的组件

        jetty 更轻量级,负载性能远不及tomcat

        undertow undertow,负载性能勉强跑赢tomcat

小结:

  1. 内嵌Tomcat服务器是SpringBoot辅助功能之一
  2. 内嵌Tomcat工作原理是将Tomcat服务器作为对象运行,并将该对象交给Spring容器管理
  3. 变更内嵌服务器思想是去除现有服务器,添加全新的服务器

你可能感兴趣的:(SpringBoot专栏,java-ee,spring,tomcat,maven,java)