1. 程式人生 > >Spring Boot 入門篇(1)

Spring Boot 入門篇(1)

springBoot的特點

1 化繁為簡,簡化配置
2.備受關注 是下一代框架
3 微服務 -springcloud是建立在springboot之上的
springboot是下一代框架
springboot是為springcloud打基礎
課程包括 controller的使用
spring-data-jpa 事務管理

注意事項:
前置知識:Maven構建專案、spring註解、RESTfulAPI
不需要學習springMVC
Java、Maven 等版本保持一致
啟動方式:

idea自動啟動
mvn spring-boot:run
mvn install 編譯出jar包然後再執行
cd target進入到target目錄下
java -jar 檔名girl-0.0.1-SNAPSHOT

一、@ConfiguratioonProperties(prefix=”配置檔案中某個vo、pojo型的字首”)
讀取的是application.yml/application.properties中的某個屬性的字首如:

spring.user.name=zx
spring.user.age=12 那麼新建一個User類 在類上寫上上面的註解

@ConfigurationProperties(profix=”spring.user”)

User類中寫上private String name; private Integer age;以及對應的getter和setter方法
在使用的時候,通過@Autowired的方式注入對應的User類物件就可以在呼叫的時候取得配置檔案中對應的屬性值
@Autowired
private User user; 就可以通過user的 getter方式獲取對應屬性
備註:要引用這個形式的注入,需要這個class被@Component或者@Controller註解修飾

二、配置檔案application.properties/application.yml中的屬性值,可以通過@Value(“${“屬性的名”}”)來引用

三、springboot專案的啟動方式有三個:

在開發環境中通過內部按鈕啟動
在專案對應的檔案加中,通過DOS,輸入mvn spring-boot:run啟動
在專案對應的資料夾的target資料夾中,通過Dos,輸入 java -jar 專案名開頭.jar 的一個檔案

四、為了應對多個情況下配置的不同,可以建立一個總的引用配置,多個備用的配置、
總引用配置:application.properties
spring.profiles.active:a 此處的a是方案a配置檔案”-“後的a

備用配置a: application-a.properties
spring.girl.cupsize=a
spring.girl.age=18

備用配置b: application-b.properties
spring.girl.cupsize=c
spring.girl.age=18

配合Dos的啟動方式 在工程所在資料夾target下
java -jar 檔名.jar –spring.profiles.active:a 後面加上引用方案

@PathVariable 獲取url中的資料
@RequestParam 獲取請求引數的值
@GetMapping 組合註解
@PathVariable(“id”)對應的是resultful形式中的{}中的屬性
如:value=”/say/{id}”

@RequestParam(“id”) Integer MyId對應的是網頁訪問地址中請求的屬性

如:位址列中的 /say?id=100 這個註解可以讓 MyId=100
如果過地址為 /say?id= 則 MyId=null
如果地址為 /say 的形式 ,則會報404

如果想讓上述的為空也可以,不寫也可以,需要在@RequestParam中新增引數(value=”id”,required=false,defaultValue=”0”),
required=false表示可以為空 defaultValue=”0”預設值為0
這樣如果id=或者不寫 那麼MyId=0 如果寫,那就是對應的值

JPA 是 JAVA持久層API 是一系列物件持久化的標準,實現了的產品有hibernate,toplink
要使用資料庫需要加入 spring-boot-starter-data-jpa 和 mysql-connector-java 這兩個依賴,一個是jpa的支援,一個是mysql的驅動,然後需要在application.yml中加入對資料庫和jpa的支援

關於pojp類:

@Entity寫在pojo類的上面,表示他對應的資料庫中的一個表
@Id 寫在主鍵上面
@GeneratedValue 表示自增長且必須帶一個無引數的建構函式,否則報錯

關於jpa的配置
show-sql: true 顯示sql語句
ddl-auto: create 每次啟動時都會重新建表,如果原來存在就刪掉再建
ddl-auto: update 每次啟動時都會重新新建表,如果原來有就不執行
ddl-auto: create-drop 每次停止應用時都會把表刪除
ddl-auto: validate 驗證類裡面的屬性和表結構是否一致,不一致的話會報錯
ddl-auto: none 什麼都不做
區分spring.jpa.hibernate.ddl-auto=update 和spring.jpa.hibernate.ddl-auto=create區別
如果為create,那麼每次啟動程式,他都會幫我們重新建立一個該名字的表,如果之前存在,會幫我們先刪除掉在重新建立

如果想通過其他方法查詢girl,可以自己拓展介面,方法名有講究的,需要按照jpa的規定寫法,findBy+名稱·
restFul api 設計
get /girls 獲取女生列表
post /girls 建立一個女生
get /girls/id 通過id查詢一個女生
put /girls/id 通過id更新一個女生
delete /girls/id 通過id刪除一個女生
建立對應類的對應資料訪問類,繼承於 JpaRepository

@Transactional事務處理註解的使用方法,在serive進行事務處理,只有查詢的時候不需要進行事務處理,其他都需要

springBoot:在spring的基礎上為了優化開發,自動裝配了一些配置,使開發更加方便,特點:1)啟動專案時不需要裝配到容器再去啟動,可以通過run直接啟動,或者在命令裡輸入mvn spring-boot:run啟動或者執行java-jar啟動,2)切換環境時更方便3) 使用JPA無需寫sql4)使用組合註解例如resrconterr5)使用註解控制事物更加方便