SpringBoot入門(IDEA篇)(二)

1、SpringBoot啓動的3種方式html

  第一種:藉助IDE工具直接啓動  run as前端

  第二種:mvn命令啓動java

    1:打開命令行,進入到項目目錄中(我這裏仍是用上次創建的dog項目來操做)cd E:\Workspaces\Idea\dog  spring

    2:mvn spring-boot:run瀏覽器

  第三種:使用jar文件啓動app

    1:在項目目錄下(即E:\Workspaces\Idea\dog)編譯項目ide

      mvn installspring-boot

    2:進入target目錄下工具

      cd target/測試

    3:查看當前路徑下的全部文件和目錄

      dir ./

    4:找到項目對應的jar文件,我這裏是 dog-0.0.1-SNAPSHOT.jar

      而後運行java命令:

      java -jar java -jar dog-0.0.1-SNAPSHOT.jar

2、SpringBoot的配置文件

  一、properties仍是yml

  默認幫咱們生成了resources目錄,咱們的配置文件基本上在這個目錄下完善

  目錄下還默認提供了一個application.properties文件,咱們能夠在其中配置訪問端口和路徑

server.port=8081
server.servlet.context-path=/dog

    這裏修改了默認端口爲8081,而且修改了訪問路徑。因此咱們不能再使用原來的 http://127.0.0.1:8080/hello

  來打招呼了,須要使用新的訪問地址  http://127.0.0.1:8081/dog/hello

  在SpringBoot種還提供了另一種簡便的寫法,就是yml文件

server:
port: 8082
servlet:
context-path: /dog

  注意冒號後面須要有一個空格,來和配置的內容隔開

  二、多環境配置

    加入2個yml文件,分別配置不一樣的訪問端口,和不一樣的訪問路徑

    新建開發環境的配置:application-dev.yml文件 

server:
port: 8083
servlet:
context-path: /dev

    新建生產環境的配置:application-pro.yml文件

server:
port: 8084
servlet:
context-path: /pro

   修改application.yml文件  指定所要使用的環境的配置,這裏咱們指向開發環境

spring:
  profiles:
    active: dev

  注意:這裏的前綴換成了spring,已經再也不是server,訪問使用 http://127.0.0.1:8083/dev/hello

  三、多環境同時啓動

    這裏使用上面介紹的第三種啓動方式 :java -jar的方式來啓動

    使用啓動命令時只須要加一些參數,就能夠輕鬆指定咱們要使用的配置環境

    第一步:啓動前先編譯 mvn (由於咱們改動過項目了,不能再使用原來的jar文件啓動)

    第二步:java -jar dog-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev

    第三步:新打開一個命令行窗口,進入項目的target目錄下,執行java -jar命令

        java -jar dog-0.0.1-SNAPSHOT.jar --spring.profiles.active=pro

    第四步:測試 http://127.0.0.1:8083/dev/hello  http://127.0.0.1:8084/pro/hello都能訪問即成功

  四、其餘配置

    a.項目中讀取配置中的某些無關的值

      這裏咱們在dev環境中進行操做,在application-dev.yml文件中加入一些須要讀取的值

      

 

 

      而後在前臺拉取,這裏使用@Value註解來拉取

      

    前端成功展現

      

 

   b.配置中使用配置

    yml文件中使用EL表達式

      

    controller中仍是使用@Value拉取

      

  c.相關的屬性,能夠封轉成對象

    第一步:在pom.xml中加入依賴

        <!--configuration的依賴-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

    第二步:新建一個用來封裝屬性的方法,提供getter、setter方法,而且重寫toString()方法

     

package com.zmfx.hello;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component  //因爲後面自動裝配@Autowired時能掃描到此類
@ConfigurationProperties(prefix = "dev")//指明瞭配置文件中前綴爲 dev封裝成對象
public class Developer {
    private String name;//姓名
    private Integer age;//年齡
    private Integer id;//編號

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @Override
    public String toString() {
        return "Developer{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", id=" + id +
                '}';
    }
}

    第三步:在yml文件中添加屬性,我這裏仍是在開發環境application-dev.yml中添加

server:
  port: 8083
  servlet:
    context-path: /dev
pageSize: 20
devName: 紫陌飛雪

content: "pageSize:${pageSize},devName:${devName}"

dev:
  name: 紫陌飛雪
  age: 26
  id: 365

    第四步:編寫controller中的控制代碼、新加屬性和方法

  

//屬性封裝到對象中提取
    @Autowired
    private Developer developer;
    @RequestMapping(value = "/developer",method = RequestMethod.GET)
    public String showDeveloper(){
        return developer.toString();
    }

    第五步:在瀏覽器中輸入  http://127.0.0.1:8083/dev/developer 進行測試

 

3、SpringBoot模板(template)的使用

  首先來介紹一下@RestController

    它至關於  @Controller+@ResponseBody的簡寫。

    @ResponseBody的做用時把返回值回顯到頁面,默認解析成Json格式。不會走視圖解析器

    若是把@RestController換成@Controller,頁面會報500,提示你檢查視圖解析器。

  SpringBoot官方爲咱們提供了頁面顯示的模板 thymeleaf

  第一步:加入pom.xml的依賴

     <!--模板的依賴-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

  第二步:在templates下編寫一個 index.html頁面

  

<h1>Hello SpringBoot!</h1>

  第三步:編寫controller層的代碼

//templates的展現
    @RequestMapping(value = {"/t","/temp","/template"} ,method = RequestMethod.GET)
    public String showIndexHtml(){
        return "index";
    }

   第四步:訪問   http://127.0.0.1:8083/dev/t 

            http://127.0.0.1:8083/dev/temp

          http://127.0.0.1:8083/dev/template

咱們發現它的映射規則和在SpringMVC沒什麼太大區別,只是不用本身去配置視圖解析器了

相關文章
相關標籤/搜索