Spring Boot系列(1)——介绍与第一个程序

 〇、Spring Boot是什么?

  是一个基于Spring的轻量级框架,让你的Spring 应用程序尽可能快的跑起来,并且尽可能减少你的配置文件;

  并且通过内嵌Tomcat、Jetty等web服务器,无需部署war文件,直接以jar包方式运行Spring应用程序。

一、第一个Spring Boot程序(通过Maven建立)

  ide:IntelliJ IDEA 2018.3.6

  jdk:Java 8

  1.新建一个maven项目

   按个人偏好填写好groupId和artificialId;点击新建后会有一个pom.xml文件

     将以下依赖配置复制到你的pom.xml文件中去,并等待依赖jar下载完成(第一次时间较久):

 1     <!-- 指定Spring Boot的版本 2.0.4.RELEASE -->
 2     <parent>
 3         <groupId>org.springframework.boot</groupId>
 4         <artifactId>spring-boot-starter-parent</artifactId>
 5         <version>2.0.4.RELEASE</version>
 6     </parent>
 7 
 8     <dependencies>
 9         <!-- 导入Spirng Boot  web 所需的jar包 -->
10         <dependency>
11             <groupId>org.springframework.boot</groupId>
12             <artifactId>spring-boot-starter-web</artifactId>
13         </dependency>
14     </dependencies>

     相关依赖jar包下载完成如下图:

  

   2.编写启动整个spring boot应用的启动类

       新建一个类,类名根据个人喜好;在类上增加@SpringBootApplication 注解,以表示这是一个spring boot 应用程序

    在该类下增加main方法,具体如下图:

    注意SpringApplication.run(参数1, 参数2)第一个参数是当前启动类.class

   

  3.编写controller

     同Spring MVC类似,不过多介绍,如下图:

     

  4.运行查看

     运行启动类中的main方法(第一个红框);从控制台的日志输出可以看到spring boot为我们内置了Tomcat服务器,并且端口为8080(第二个红框)

    

     此时,就可以在浏览器输入url访问了,下图便是访问成功:

     

   5.打包部署

      前面说过,spring boot 可以直接以jar包运行,所以这里便将项目打包成jar文件

   首先在项目的pom.xml文件加入打包插件配置:

<!-- 打包成可执行jar包-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.0.4.RELEASE</version>
            </plugin>
        </plugins>
    </build>

    <!--阿里远程仓库,防止默认远程仓库无法下载打包插件-->
    <repositories>
        <repository>
            <id>alimaven</id>
            <name>Maven Aliyun Mirror</name>
            <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

  

    使用maven自动打包(在idea中找到Maven->当前项目->Lifecycle->双击package),从控制台信息可以看到打包完成,并且看到jar文件存放的目录:

    

     启动!

     启动完成后,可以在浏览器输入url访问了。

   

二、第一个Spring Boot程序的一些细节

  1.为什么不用配置?(与Spring MVC相比)

     在以往创建Spring MVC程序过程中,我们一般流程都是:(1)将Tomcat集成到IDE、(2)新建WEB项目、(2)引jar包、(3)在web.xml里配置分发器[DispatcherServlet]、url拦截模式[servlet-mapping]、视图解析器[UrlBasedViewResolver].....

     而上面所说的Spring Boot好像没有了这些步骤,就初学C或者Java一样,新建一个程序就可以立刻编写代码并执行。

     ->"分发器[DispatcherServlet]、url拦截模式[servlet-mapping]、视图解析器[UrlBasedViewResolver]"的配置哪去了?

    Spring Boot已经帮我们配置好了,通过启动类上的@SpringBootApplication注解为我们引入了这些默认配置。

     ->"Tomcat"哪去了?

    Spring Boot项目内嵌了Tomcat、Jetty等Web容器,并且帮我们配置好了一些默认参数(比如端口为8080)。

     ->"Jar包"从哪里引入的?

    在我们上面的Spring Boot程序中,有一个pom.xml文件,有以下配置:

1 <dependencies>
2         <dependency>
3             <groupId>org.springframework.boot</groupId>
4             <artifactId>spring-boot-starter-web</artifactId>
5       </dependency>
6 </dependencies>

    就是这个Spring-boot-starter-xxx帮我们引入了构建一个spring Boot项目所需的jar包。而所谓starter,其实是Spring开发团队预先分拣、划分好的场景启动器(某类项目jar包配置的集合)。以下截图来自Spring官网的相关文档

  ->怎么自动配置的?

    在spring-boot-autoconfigure.jar中,为常见框架写了默认配置。

    当我们选择了starter之后,相应的默认配置也会被引入。而后Spring Boot容器通过AutoConfigurationImportSelector.class将spring-boot-autoconfigure.jar中各个框架默认配置获取。

    其中spring-boot-autoconfigure.jar下默认配置的封装形式:[框架名]AutoConfiguration组件类; [框架名]Properties配置类

1[服务名]AutoConfiguration 帮我们给容器自动添加组件
2[服务名]Properties 封装配置文件中的内容

  

三、用IntelliJ IDEA新建Spring Boot项目

  1.点击新建项目(Create New Project),而后选择Spring Initializr、JDK,如下图:

   2.点击下一步(next)后,按需填写groupID和artifactID以及其它信息(下图显示的是idea默认的项目信息):

   3.下一步是选择依赖(选择starter),这里构建一个简单的Spring Boot Web项目,只需如图所示选择:

  4.点击下一步后,填写项目的名称、存放在磁盘的路径、模块名称及路径。

  5.点击finish后,会发现通过idea创建的Spring Boot项目默认为我们新建了启动类、并引入刚刚我们所选的web相关依赖(Starter)以及一个全局配置文件:

原文地址:https://www.cnblogs.com/Drajun/p/12113528.html