2小時(shí)學(xué)會(huì)SpringBoot總結(jié)

一 創(chuàng)建項(xiàng)目

使用idea創(chuàng)建項(xiàng)目, 創(chuàng)建項(xiàng)目時(shí)只選擇Web模塊, 生成項(xiàng)目后查看pom文件, 主要有4個(gè)依賴需要了解:

spring-boot-starter-parent---->>>>當(dāng)前SpringBoot的啟動(dòng)依賴,最基礎(chǔ)的東西

spring-boot-starter-web----->>>>>web項(xiàng)目的啟動(dòng)依賴

spring-boot-starter-test----->>>>>測(cè)試依賴

spring-boot-maven-plugin------>>>maven插件, 相關(guān)maven的編譯, 運(yùn)行等操作所需

二 注解

1 @Controller:處理http請(qǐng)求, 如果不搭配@ResponseBody使用,那么對(duì)于方法返回的是模板名稱,例如使用thyleaf的模板文件index.html

目前企業(yè)中開發(fā)項(xiàng)目大多都使用前后端分離,前端使用js調(diào)用后端restFul接口,返回json格式

2 @RequestMapping:配置url映射->@RequestMapping(value = "/hello", method = RequestMethod.GET)

可以使用GetMapping("/hello") PostMapping("/hello") 等實(shí)現(xiàn)簡(jiǎn)寫

3 @RestController:Spring4之后新的注解,原來返回json需要@ResponseBody配合@Controller

4 @Value("${XXX}") 使用在properties文件中定義的鍵值對(duì)-->>一般使用@ConfigurationProperties(prefix = )來取代

5 @ConfigurationProperties(prefix = ) 用來將類聲明成配置文件中具體的類對(duì)象, 然后使用其中的屬性

6 @Component---->只有加上此注解才能使用@Autowired注解,不明白的可以去看一下spring幾個(gè)常用的注解

7 @PathVariable? 獲取url中的數(shù)據(jù) : "say/{id}"? PathVariable("id") Integer id

8 @RequestParam? 獲取參數(shù)中的數(shù)據(jù)

9 @GetMapping 組合注解類似的有PostMapping PutMapping等等

三 3種啟動(dòng)方式

1 直接在idea中進(jìn)行啟動(dòng);

2 打開命令行, 切換到項(xiàng)目根目錄, 執(zhí)行命令mvn spring-boot:run;

3 打開命令行, 切換到項(xiàng)目根目錄, 使用mvn install進(jìn)行編譯, 然后切換到target目錄中找到生成的jar包,使用java -jar

的方式進(jìn)行運(yùn)行, 此種方式還可以跟特定的yml文件如下:

java -jar twohour-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev

四 數(shù)據(jù)庫(kù)操作

1 添加依賴

spring-boot-starter-data-jpa

mysql-connector-java

2 yml文件中配置

spring:

? datasource:

? ? url: jdbc:mysql://127.0.0.1:3306/dbgirl?serverTimezone=UTC

? ? driver-class-name: com.mysql.cj.jdbc.Driver

? ? username: root

? ? password: 123456a?

? jpa:

? ? show-sql: true

? ? hibernate:

? ? ? ddl-auto: none? 不建議由程序來執(zhí)行ddl語句!!!所以最好設(shè)置成none

注意: 高版本的mysql對(duì)于url需要追加?serverTimezone=UTC, 不然會(huì)報(bào)錯(cuò),另外driver-class-name也發(fā)生了變化

3 創(chuàng)建domain對(duì)象對(duì)應(yīng)的jpa接口->public interface GirlRepository extends JpaRepository<Girl,Integer>

4 jpa具有駝峰標(biāo)識(shí)的轉(zhuǎn)換, 例如實(shí)體類中cupSize變量在數(shù)據(jù)庫(kù)中應(yīng)該是cup_size字段

五 事務(wù)

讀操作不需要事物, 寫操作只需要在對(duì)應(yīng)的方法上加@Transactional注解就可以

吐槽: 不管多么簡(jiǎn)單的程序, 一定要?jiǎng)邮智靡槐? 這樣才能有所收獲!!!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容