zoukankan      html  css  js  c++  java
  • SpringBoot介绍,快速入门小例子,目录结构,不同的启动方式,SpringBoot常用注解

    SpringBoot介绍

    引言

    • 为了使用ssm框架去开发,准备ssm框架的模板配置
    • 为了Spring整合第三方框架,单独的去编写xml文件
    • 导致ssm项目后期xml文件特别多,维护xml文件的成本也是很高的
    • ssm工程部署也是很麻烦,依赖第三方容器
    • ssm开发方式是笨重的

    SpringBoot介绍

    SpringBoot是由pivota团队开发的,SpringBoot并不是一门新技术,只是将之前常用的Spring,SpringMVC,data-jpa等常用的框架封装到了一起,帮助你隐藏这些框架的整合细节,实现敏捷开发
    SpringBoot就是一个工具集

    SpringBoot特点:

    1. SpringBoot不需要模块化配置
    2. 在SpringBoot中整合第三方框架时,只需要导入相应的stater依赖包,就自动整合了
    3. SpringBoot默认只有一个.properties的配置文件,不推荐使用xml,后期会采用.java文件去编写信息
    4. SpringBoot工程在部署时,采用的是jar包的方式,内部自动依赖Tomcat容器,提供了多环境的配置
    5. 后期要学习的微服务框架SpringCloud需要建立在SpringBoot的基础上

    SpringBoot快速入门

    快速构建SpringBoot

    文件新建一个项目选择 spring initializr创建一个spring项目

    点击下一步,选择需要导入的依赖,我什么都没选,因为我只是写个小Demo

    第一次创建SpringBoot工程,下载大量的依赖,要保证maven已经配置了阿里云的私服:

    阿里云私服配置:

    cmd中输入mvn -v会显示maven的安装路径
    到其安装路径下找到conf文件夹进去找到settings.xml,用文本编辑器打开找到mirrors标签添加如下标签

    <mirror> 
     <id>alimaven</id> 
     <name>aliyun maven</name> 
     <url>http://maven.aliyun.com/nexus/content/groups/public/</url> 
     <mirrorOf>central</mirrorOf> 
    </mirror>
    

    然后点击finish等待下载完成下载完成后会在,External Labraries中看到默认导入的所有依赖


    在xml文件中把spring-boot-starter依赖改为,因为我要创建的是一个web的Demo

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    

    直接点击src直到找到java目录然后点到你的Application所在的包在这个包中新建一个Controller在Controller包下创建一个java文件,写入一下内容

    @RestController
    @RequestMapping
    public class TestController {
      @GetMapping("/test")
      public String test(){
        return "Hello SpringBoot";
      }
    }
    
    • 打开默认创建的Application文件直接点击运行!
    • 如果看到控制台打印如下内容则表示成功
    • 倒数第二行可以看出,访问端口为8080,访问路径为''空在浏览器地址输入
      127.0.0.1:8080/test或者localhost:8080/test
    • 端口号后面为你GetMapping设置的访问路径

    SpringBoot的目录结构

    pom.xml文件

    1. 指定了一个父工程: 指定当前工程为SpringBoot,,帮助我们生命了starter依赖版本
    2. 指定项目的元数据: 包名,项目名,版本号
    3. 指定properties信息: 指定java版本为1.8
    4. 导入依赖: 默认情况导入
    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
    
    1. 插件: 默认只有SpringBootMaven插件
     <plugin>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-maven-plugin</artifactId>
     </plugin>
    

    .gitignore文件,默认帮我们忽略了一些文件和目录,防止多余文件推送到git中

    src目录,(带-的都是目录)

    -mvc
      -main
        -java
          -包名
            启动类.java     #需要将controller类,放在启动类的子包中或者同级包下
        -resources
          -static        #存放静态资源的
          -templates     #存放模板页面的,static和templates文件夹不是自动创建的
          application.properties     #SpringBoot提供的唯一配置文件
      -test
    

    SpringBoot三种启动方式

    运行启动类main方法即可运行SpringBoot工程

    采用maven的命令运行SpringBoot工程

    1. 首先吧之前的项目关闭
    2. 打开terminal,输入mvn -v检查是否安装了maven环境
    3. 然后在当前项目路径下输入 mvn spring-boot:run
    4. 运行成功

    使用打包方式

    右侧点击maven,选择package进行打包

    打完的包会在target下

    通过java -jar jar文件

    SpringBoot常用注解

    @Configuration和@Bean

    @Bean就是在SSM中开发时xml文件中的bean,但是SpringBoot中不推荐使用yml文件,
    @Configuration注解相当于beans标签
    @Bean注解相当于bean标签

    @SpringBootApplication就是一个组合注解


    而主要注解为这三个

    1. @SpringBootConfiguration就是@Configurationzhuje,代表启动类就是一个配置类
    2. @EnableAutoConfiguration帮你实现自动装配,SpringBiit工程启动时,运行一个SpringFactoriesLoader的类,加载META-INF/Spring.factories配置类,通过SpringFactoriesLoader中的load方法,以for循环的方式,一个一个加载
      好处: 无需大量整合配合配置信息,只需要按照SpringBoot提供好了约定整合即可
      坏处: 如果你导入了一个starter依赖那么你就需要填写他必要的配置信息
      手动关闭自动装配指定内容: SpringBootApplication(exculd=QuartzAutoConfiguration.class)
    3. @ComponentScan就相当于扫描包,默认只会扫描当前启动类所在的子包或同包,可以手动添加其他需要被扫描的包
    我会写代码+代码改变世界=我会改变世界! 为什么要改变世界? 如果无法改变世界,那么,世界就会改变我......
  • 相关阅读:
    BETA 版冲刺前准备
    Alpha 事后诸葛亮(团队)
    Learn Docker(一)—软件安装与常规操作
    Alpha 答辩总结
    Alpha 冲刺 (10/10)
    Alpha 冲刺 (9/10)
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    团队作业-随堂小测(同学录)
  • 原文地址:https://www.cnblogs.com/chougoushi/p/13411242.html
Copyright © 2011-2022 走看看