初涉springboot(二)

概述

  1、环境说明

  2、HelloWorld项目细节

    3、小结

  

一. 关于环境补充

  在上一篇的HellWorld项目中,我们构建SpringBoot项目,采用的是jdk1.8版本,springboot官方建议配合jdk1.7及其以上版本来开发springboot。而如springboot1.5.8中一些@Repeat注解都是jdk1.8才有的,所以建议是jdk1.8版本及以上来开发。同时,SpringBoot提供嵌入式的Tomcat,直接打成jar包便可运行。IDEA打包过程如下:

 初涉springboot(二)_第1张图片

包的位置默认位置是在target目录下 。打包好后,可以通过在命令行 java jar xxx.jar  直接运行。 并且,我们可以通过解压工具看一下,这个xxx.jar中的内容。来到lib目录下,我们可以看到有导入tomcat-embed字样的包,这就是springboot内嵌的tomcat容器,可以直接运行这个springboot的jar包,不需要打成war放到webapp目录中运行。其中也导入了运行web项目所需的基本jar包,均是自动化配置。

初涉springboot(二)_第2张图片

 

 

二. Hello World项目的细节

   看完了环境,接下来看看该项目的pom.xml文件,来看看为什么springboot能替我们做了这么多“人性化”的工作。

 在POM文件中,我们可以看到有如下的,不同以往的配置。我们来一 一解释。

  1.  父级依赖

①、首先看到我们的是springboot-helloworld.pom.xml文件中依赖了此父级依赖


  org.springframework.boot
  spring-boot-starter-parent
  1.5.18.BUILD-SNAPSHOT
  


②、ctrl + 左键 点击 spring-boot-starter-parent 进入此父项目,发现其也依赖一个父项目


  org.springframework.boot
  spring-boot-dependencies
  1.5.18.BUILD-SNAPSHOT
  ../../spring-boot-dependencies


③、点击spring-boot-dependencies,进入查看父项目 ,可以发现,这里文件中配置了大量的版本依赖属性,
ps : 在标签中,在此不截图。

  可以看到,在 spring-boot-dependencies项目中配置了我们熟知的一些组件的版本,如连接池、切面、json版本。它是真正管理 SpringBoot组件版本的 管理中心。因为它的存在,只要它有配置的,我们都可以不配置依赖的版本,SpringBoot自动帮助我们配置。当然,我们也可以自己添加、修改没有的或者已有的组件的版本,只需要在我们自己项目的pom.xml文件的 属性添加即可:

spring-boot-dependencies.pom默认配置:
  4.3.20.RELEASE


自己的pom文件中加入即可修改:
  


  UTF-8
  UTF-8

  5.0.0.RELEASE

 

  2.  starter 启动器

   何为“启动器”,自然是通过这个“东西”去启动对应的特定功能。同样的,我们能在父项目 spring-boot-dependencis.pom中看到,在标签中看到大量的 spring-boot-starter-xxx组件。再结合我们helloworld项目中的pom:


        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

  没错,它的功能就是,我们需要什么功能的组件,就导入什么 starter ,springboot就可自动为我们添加该组件。上述我们需要springboot的web功能,就对应配上spring-boot-starter-web 组件。着实方便。

 

  3.插件

  在helloworld中的插件:


    
        
            org.springframework.boot
            spring-boot-maven-plugin
            
    

这个插件是帮助我们打成jar包用。在初涉springboot(一)中,我们通过 package命令直接打成jar包而不是war,得益于此。

 

  4. @SpringBootApplication 注解

 在主程序入口中,我们是通过执行此注解所在类的main方法跑动项目的,这个注解标识此为主程序类,是一个Spring Boot应用。此注解要放在其他类的同级目录或子目录之下,否则会找不到其他类。(这是个坑,因为SpringBoot默认配置了扫描的位置。) 关于@SpringBootApplication注解后续会详述。

 

三.小结

  要称为一个SpringBoot项目,就需要标注 @SpringBootApplication注解代表程序入口;

  启动器starter引入功能;

  父级依赖的spring-boot-dependencies.pom则配置了默认版本。

 三者相互作用,跑动第一个SpringBoot项目。

 

 

  如有错误,敬请斧正,以免误导他人。

 

 

 

 

 

 

  

 

你可能感兴趣的:(初涉springboot(二))