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沒什麼太大區別,只是不用本身去配置視圖解析器了