• SpringBoot介绍


    SpringBoot介绍:

    1.为什么需要SpringBoot?
      SpringBoot是一个基于Spring的框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。
    大家可以想一想,在SpringBoot出现之前,在进行开发时,是不是进行了大量的配置文件?是不是导入了
    大量的maven依赖?你是不是非常讨厌这些复杂的配置文件和大量的maven依赖呢?
      没错,SpringBoot解决了传统Spring开发过程中出现的以下问题,大大简化了开发过程:
      1.配置文件太多,太复杂;
      2.jar包太多,版本不好统一管理;
      3.发布系统需要安装Tomcat或配置插件;

    2.SpringBoot的入门
      1.入门需求:
        使用springboot在页面中展示一个hello world ;
      2.入门步骤:
        2.1 创建工程,添加父工程parent;
          <!--添加父工程-->
          <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.4.RELEASE</version>
          </parent>
        2.2 添加起步依赖;
        <dependencies>
          <!--添加起步依赖-->
          <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
          </dependency>
        </dependencies>
        2.3 创建启动类;
      package com.it;

      import org.springframework.boot.SpringApplication;
      import org.springframework.boot.autoconfigure.SpringBootApplication;

      /**
      * ToDo
      *
      * @author Lyle
      * @date 2020/3/31
      */
      @SpringBootApplication
      public class SpringBootDemoApplication {
      public static void main(String[] args) {
      SpringApplication.run(SpringBootDemoApplication.class);
      }
      }
      2.4 创建Controller
      package com.it.controller;

      import org.springframework.web.bind.annotation.RequestMapping;
      import org.springframework.web.bind.annotation.RestController;

      /**
      * ToDo
      *
      * @author Lyle
      * @date 2020/3/31
      */
      @RestController
      public class TestController {
      @RequestMapping("/hello")
      public String showHello(){
      return "hello world";
      }
      }

      入门说明:
      父工程springboot parent锁定版本,自动配置与之匹配的jar包版本;
      springboot内嵌了Tomcat,默认端口号8080,只需导入spring-boot-starter-web的起步依赖即可;

      3. springboot的配置文件:
      application.properties
      application.yml或者application.yaml
      推荐使用application.yml;
      "#"号表示注释
      # 配置端口号,注意port:和8081之间要有空格
      server:
        port: 8081

      #简单的key=value形式
      name: zhangsan

      #数组形式,使用 - 来区分不同的元素, 元素可以是基本类型,字符串和对象类型
      cities:
        - beijing
        - shenzhen
        - changsha

      #集合类型,元素是复杂的数据类型,eg:List<Student> students;
      students:
        - name: zhangsan
        age: 18
        address: beijing

        - name: lisi
        age: 20
        address: shenzhen

        - name: ww
        age: 30
        address: changsha

      # Map集合形式,使用比较少
      maps: {"name": "zhangsan","age": "18"}

      #参数引用
      person:
        name: ${name} # 该值可以获取到上边的name定义的值:zhangsan
        age: 12

    4. 获取配置文件中的值

      1. @Value形式获取简单值:
      4.1 获取简单的key=value形式
        @Value("${name}")
        private String name;

      4.2 根据索引获取数组中的值
        @Value("${cities[1]}")
        private String city1;

      4.3 获取集合中第一个元素中属性的值
        @Value("${students[0].address}")
        private String address;

      4.4 获取Map中的值
        @Value("{maps.name}")
        private String mapsname;

      4.5 获取person中name的值
        @Value("${person.name}")
        private String personname;

      

      2. 使用spring中的Environment获取值:
        在类中注入Environment对象:
          @Autowired
          private Environment environment;
        使用Environment中的getProperty()方法;

      3. @ConfigurationProperties方式获取值:
        创建POJO,并使用注解@Component将pojo交给spring来管理;
        使用注解@ConfigurationProperties来建立pojo和配置文件的映射;
        在类中注入POJO,通过pojo的get方法来获取对应的值。


  • 相关阅读:
    如何检测野指针
    AFNetworking遇到错误 Request failed: unacceptable content-type: text/html
    【原】iOS学习之Swift之语法2(精简版)
    【原】iOS学习之KVC原理
    【原】iOS学习之SQLite和CoreData数据库的比较
    【原】iOS多线程之NSThread、NSOperationQueue、NSObject和GCD的区别
    【原】iOS多线程之线程间通信和线程互斥
    【原】iOS学习之ARC和非ARC文件混编
    【原】iOS学习之在NSObject子类中获取当前屏幕显示的ViewController
    【原】iOS学习之卸载Openfire
  • 原文地址:https://www.cnblogs.com/lyle-liu/p/12605825.html
Copyright © 2020-2023  润新知