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方法來獲取對應的值。

 

 

 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM