springboot项目的配置和基本案例练习

12 篇文章 0 订阅
9 篇文章 0 订阅
  • 一.手动配置

新建maven项目,导入依赖,不需要配置<packing>war</packing>,springboot内置了

  •  要使用springboot,首先继承其父亲
    •       <parent>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-parent</artifactId>
              <version>2.1.8.RELEASE</version>
            </parent>
  •  然后导入pringboot的核心启动器依赖,包含了自动配置,日志和yaml
    •          <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter</artifactId>
               </dependency>
  • 然后导入支持web开发的依赖,这里依赖里面包括了tomacat,spring-webmvc
    •  
               <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter-web</artifactId>
               </dependency>
  •  新建一个启动类BootApp,运行启动类之后,不会直接跳转到页面的,需要我们自己去地址栏输入网址,注意括号里面是逗号,不是点
    • package com.pro;
      import org.springframework.boot.SpringApplication;
      import org.springframework.boot.autoconfigure.SpringBootApplication;
      
      /**
       * springboot 的启动类
       */
      @SpringBootApplication
      public class BootApp {
          public static void main(String[] args) {
              SpringApplication.run(BootApp.class,args);
          }
      }
      
  •  控制层注解是RestController
    • package com.pro.controller;
      
      import org.springframework.web.bind.annotation.GetMapping;
      import org.springframework.web.bind.annotation.RestController;
      
      @RestController
      public class HelloController {
      
          @GetMapping("/hai")
          public String hai(){
              return "hello world";
          }
      }

  •  如果我们没有导入下面这个插件,jar包会很小,加入之后大小就会正常,大小正常之后,我们就可以打开cmd命令行窗口,执行java - jar包名称
    •  <!--将项目相关的依赖,一并打包到jar中,后面可以放到服务器上运行-->
          <build>
              <plugins>
                  <plugin>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-maven-plugin</artifactId>
                  </plugin>
              </plugins>
          </build>

二.自动配置:建完项目,我们上面手动配置的东西,都给我们配好了

  • 新建项目的时候,这样建 

  • springboot里面有三种配置文件:peoperties,yml,yaml

  • application.properties

  • *application.yml:

 yml当中系统提供的数据,和自定义的数据赋值,以及在controller里面的取值方式

  • 第一种:@Value
  • #系统提供的,我们引出来,填值就可以了
    server:
      port: 9999
      servlet:
        context-path: /boot2
    
    
    #自定义的配置数据,也可以在这里配置,在controller里面如何获取?
    #字符串
    dd: 俊俊
    #对象
    person:
      name: zs
    #数组
    address:
      - hz
      - cq
    #单,双引号,有不同的含义,双引号识别换行,会换行,单引号忽略换行
    msg: 'hello \n world'
    msg1: "hello \n world1"
    #引用已经定义的名称
    mmssgg: hello${dd}
    mmssgg1: 'hello ${dd}'
  • controler中取:

  • package com.pro.controller;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    @RestController
    public class HelloController {
    
        @Value("${dd}")
        private String dd;
        @Value("${person.name}")
        private String perName;
        @Value("${address[0]}")
        private String address;
        @Value("${msg}")
        private String msg;
        @Value("${msg1}")
        private String msg1;
        @Value("${mmssgg}")
        private String mmssgg;
        @Value("${mmssgg1}")
        private String mmssgg1;
        @GetMapping("/hai")
        public String hai(){
            return "hello world"+perName+"=="+address+"=="+msg+"=="+msg1+"=="+mmssgg+"=="+mmssgg1;
        }
    }

  • 第二种:@Autowired

  • 第三种:这种在编程过程中经常会用到
  • 在properties包下面新建一个PersonConfigurationProperties类

  • 系统提供的数据在编写时会有提示,但是我们自己的是没有提示的,为了在编写自定义数据的时候能够有提示,我们需要导入一个依赖
  •         <!--对自定义的配置处理,可以在rebuild后,yml中可以提示-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <version>2.1.7.RELEASE</version>
                <optional>true</optional>
            </dependency>

    在导入依赖,下载的时候可能会报这个错

  •  

     

  • 第三种方式在于可以对对象的多个属性同时赋值
  •  因此,咱们第三种方式也就出来了,和其他两种的区别:
  • 前两种主要是针对单个数据去赋值,如果是对象有多个属性,就没法赋值了

  • 第三种针对对象的多个属性可以赋值

     

 三.项目的三种状态:生产,测试,上线(正常运营)

  •  
  • 配置文件application.properties指定执行哪个配置文件
  • yml配置文件指定使用哪个配置文件(这里有地方要注意)
  • 如果在配置文件中没有指定,那么默认是8080
  • 第三种指定方式:
  • 第四种方式

  •  优先级:properties>yml>yaml
  • 指定配置文件时:
    • 第三第四种方式优先级高于前者(自己测出来的)
    • 第一种和第二种同时都指定,但是指定不一样时,第一种优先级高。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值