zoukankan      html  css  js  c++  java
  • SpringBoot快速入门(一)

    SpringBoot简介

    SpringBoot就是一个JavaWeb的开发框架,和SpringMVC类似,对比其他JavaWeb框架的好处,简化开发,约定大于配置,能迅速的开发web应用,几行代码开发一个Http接口。

    随着Spring的不断发展,设计的领域越来越多,项目整合开发需要配合各种哥样的文件,慢慢变得不那么易用简单,违背了最初的理念,甚至人称“配置地狱”。SpringBoot正是在一个这个的背景下被抽象出来的开发框架,目的是为了让大家更容易的使用Spring、更容易的集成各种常用的中间件、开源软件;

    SpringBoot基于Spirng开发,SpringBoot本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一基于Spirng框架的应用程序,和Spring框架紧密结合用于提升Spring开发者体验的工具。SpringBoot以约定大于配置的核心思想,默认帮我们进行了很多设置,多数SpringBoot应用只需要很少的Spring配置。同时它继承了大量常用的第三方库配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz等等),即零配置的开箱即用。

    简单来说,就像是maven整合了所有的jar包,SpringBoot整合了所有的框架。

    Spring Boot的主要优点:

    • 为所有的Spring开发者更快的入门
    • 开箱即用,提供各种默认配置来简化项目配置
    • 内嵌式容器简化Web项目
    • 没有冗余代码生成和XML配置的要求

    编写第一个SpringBoot程序

    SpringBoot能够简化配置文件,就好像Spring的升级版,原来很多东西需要手动配置,现在只需要自动配置即可!

    编写步骤

    1、使用IDEA构建一个SpringBoot程序

    2、填写Mavne基本信息

    3、勾选启动器,勾选这个相当于帮你自动配置好了Spring和SpringMVC!包括Tomcat;

    4、完成之后,等带Maven自动下载所有的依赖即可,第一次有点慢!

    最终如下图:

    我们来写一个程序测试一下:

    1、一定要在Spring主启动类的同级或者子级目录下新建包否则识别不了!

    2、新建一个controller包

    3、在这个包下新建一个HellController类

    package com.star.controller;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HelloController {
    
        @RequestMapping("/hello")
        public String hello(){
            return "Hello,World!";
        }
    }
    

    4、启动主启动类,访问测试:http://localhost:8080/hello

    自定义banner

    我们可以自定义启动Logo,可以看到启动的默认Logo为Spring!

    自定义步骤:

    1、我们在resource目录下新建一个banner.txt,在这里面写入自己的banner即可

    2、在线网站生成:https://www.bootschool.net/ascii

    3、启动测试看下效果

    SpringBoot是如何启动的?

    新建的SpringBoot项目中,都有一个主启动类

    package com.star;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication// 只要标注了这个注解就代表使SpringBoot的应用
    public class SpringbootApplication {
    
        //main方法开启了一个服务
        public static void main(String[] args) {
            //Spring的启动类,通过run方法来具体执行
            SpringApplication.run(SpringbootApplication.class, args);
        }
    
    }
    

    关于SpringBoot原理的详细讲解: https://www.cnblogs.com/lmx-181028/p/12411058.html

    依赖如何配置?

    我们没有配置tomcat,没有配置servlet,没有配置spring,这个是怎么生效的?

    SpringBoot默认有一个pom.xml

    父依赖:

        <!--父依赖
        spring-boot-starter-parent 父启动类
        -->
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.2.1.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
      <!--点进源码后发现如下的父依赖-->
      <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.2.1.RELEASE</version>
        <relativePath>../../spring-boot-dependencies</relativePath>
      </parent>
      <!--点进源码可以看到很多依赖-->
    

    父依赖作用分析:

    1、自动帮助我们管理依赖,里面包含了几乎常用的所有依赖,如果你需要的依赖在这里有,就不用再配置了,如果没有再配置

    2、插件和资源过滤的自动管理

    启动器:

        <!--依赖-->
        <!--再这里写的依赖都不需要版本号,只要在父依赖中有即可!-->
        <dependencies>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            </dependency>
        
        <!--spring-boot-starter-xx 场景启动器,导入对应场景所需要的类
            会自动帮你导入封装了这个场景所需要的依赖
        -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        </dependencies>
    

    所有的启动器:https://docs.spring.io/spring-boot/docs/2.2.5.RELEASE/reference/html/using-spring-boot.html#using-boot

  • 相关阅读:
    CodeForces
    网络流
    poj 2185
    树的分治学习
    数位DP
    URAL 1969. Hong Kong Tram
    hdu 4759 Poker Shuffle
    hdu3712 Detector Placement
    分块思想
    莫比乌斯反演
  • 原文地址:https://www.cnblogs.com/lmx-181028/p/12410806.html
Copyright © 2011-2022 走看看