-
定時(shí)任務(wù) :
使用注解@EnableScheduling 開(kāi)啟定時(shí)任務(wù),會(huì)自動(dòng)掃描
定義 @Component 作為組件被容器掃描
在類(lèi)前添加@Componet注解聲明為組件
在定時(shí)任務(wù)方法前添加@Scheduled(fixedRate =時(shí)長(zhǎng))設(shè)置定時(shí)任務(wù)啟動(dòng)的時(shí)間間隔
查看全部 -
SpringBoot資源文件屬性配置
場(chǎng)景1——》資源文件中的屬性配置與映射到實(shí)體類(lèi)(然后就可以把這個(gè)實(shí)體類(lèi)注入到Controller或Service里)
步驟1:pom文件中,引入configuration-processor依賴,完成資源文件的讀?。▽傩詎ame值為imooc,依次對(duì)應(yīng))。
步驟2:類(lèi)上添加@Configuration注解,代表該類(lèi)會(huì)引用資源文件、@ConfigurationProperties用來(lái)配置配置文件中的前綴的、@PropertySource代表資源文件的位置、如圖
擴(kuò)展1:classpath,項(xiàng)目打成war包后,只有WEB-INF、WETA-INF這兩個(gè)包,而WEB-INF只有classes和lib這兩個(gè)包,lib放置jar包,classes存放的是都是自己新創(chuàng)建的文件。
擴(kuò)展2:BeanUtils的copyProperties(source,target)——》可以將source對(duì)象中屬性值賦值給target屬性,)前提這兩個(gè)屬性名相同,這兩個(gè)對(duì)象可以是兩個(gè)類(lèi)的,也可以是一個(gè)類(lèi)的。
擴(kuò)展3:解決重啟時(shí),報(bào)端口占用問(wèn)題
cmd模式下輸入命令:
netstat -ano|findstr 8080,查看占用端口號(hào)的進(jìn)程。
tasklist|findstr "端口號(hào)對(duì)應(yīng)數(shù)字"結(jié)束進(jìn)程。
taskkill /pid?進(jìn)程號(hào) -f查看是否成功
斷點(diǎn)調(diào)試:打斷點(diǎn),可查看執(zhí)行,F(xiàn)6向下執(zhí)行,F(xiàn)8將方法返回結(jié)果在瀏覽器上進(jìn)行顯示。
查看全部 -
SpringBoot使用devtools進(jìn)行熱部署
熱部署:修改一個(gè)項(xiàng)目中的某個(gè)文件,可以不用關(guān)閉服務(wù)器,然后再重新啟動(dòng),通過(guò)devtools就可以自動(dòng)啟動(dòng)服務(wù)器。
devtools原理:
針對(duì)類(lèi)——》監(jiān)控整個(gè)項(xiàng)目的classpath,監(jiān)控項(xiàng)目下的一些類(lèi),如果發(fā)生變化就會(huì)立即重新啟動(dòng),對(duì)于項(xiàng)目中的jar包,不會(huì)重新加載,只會(huì)加載改變的類(lèi),所以相對(duì)來(lái)說(shuō)會(huì)很快。
針對(duì)頁(yè)面——》頁(yè)面實(shí)現(xiàn)熱部署可以通過(guò)在application.properties中設(shè)置spring.thymeleaf.cache=false實(shí)現(xiàn),類(lèi)似于JSP改變代碼不需要重啟動(dòng)。
步驟1:引入devtools的jar包。
步驟2:application.properties配置文件中添加spring.devtools.restart.enabled=true,如果不想使用熱部署改為false即可。
步驟3:application.properties中配置監(jiān)聽(tīng)目錄,spring.devtools.restart.additional-paths=src/main/java
擴(kuò)展:可以使用排除某些目錄的文件不需要restart(例如靜態(tài)文件、圖片、樣式等),因?yàn)樾薷撵o態(tài)文件不需要重啟服務(wù),所以可以通過(guò)application.properties中設(shè)置,spring.devtools.restart.exclude=static/**,public/**
查看全部 -
Jackson的基本演繹法
@JsonIgnore:使用場(chǎng)景-方法返回的對(duì)象有個(gè)屬性不想被返回,就可以使用該注解修飾該屬性。
@JsonFormat:使用場(chǎng)景-定義方法返回的日期格式,修飾日期屬性,放置在屬性上。
@JsonInclude(Include.NON_NULL):使用場(chǎng)景-當(dāng)屬性為null時(shí),忽略該屬性,不會(huì)顯示給前端,如果屬性有值,那么就會(huì)顯示該屬性。
注意:SpringBoot每次重啟之前,需關(guān)閉服務(wù)臺(tái),要不然會(huì)報(bào)錯(cuò)。
查看全部 -
SpringBoot構(gòu)造并且返回一個(gè)json對(duì)象
@ResponseBody
@ResponseBody:一般作用在方法上,在異步獲取數(shù)據(jù)時(shí)使用,并且返回的數(shù)據(jù)是某種格式時(shí)使用(json、xml),將方法返回結(jié)果寫(xiě)入到HTTP報(bào)文中(也就是在頁(yè)面顯示方法返回的結(jié)果),通常和@RequestMapping一起使用,這樣就會(huì)將結(jié)果顯示到頁(yè)面,使用@RequestMapping通常將方法結(jié)果解析為路徑跳轉(zhuǎn)。
查看全部 -
使用STS(Spring Tool Suit)生成項(xiàng)目
課程項(xiàng)目所在GitHub網(wǎng)址:https://github.com/leechenxiang/imooc-springboot-starter
查看全部 -
SpringBoot(1.5.8版本為主,穩(wěn)定)的一個(gè)Demo
官方地址生成項(xiàng)目:https://start.spring.io
Spring官方網(wǎng)址:https://spring.io
STS(全稱Spring Tools Suite,IDE):Spring官網(wǎng)基于eclipse做的二次開(kāi)發(fā),或者在eclipse中導(dǎo)入STS插件也可以。
通過(guò)如下方式,就會(huì)下載SpringBoot項(xiàng)目的jar包,然后就可以通過(guò)eclipseIDE進(jìn)行import了。
SpringBOOT的jar包就是通過(guò)它引入的,可以通過(guò)control+鼠標(biāo)右鍵進(jìn)入,可以看到引入jar包和一些配置文件。
如下是格式的配置,包括字符集和java版本
項(xiàng)目的啟動(dòng)入口
SpringBoot配置可以在resource下的application.properties配置。
SpringBOOT中@Controller、@RestController、@RequestMapping注解的使用:
@Controller通常與模板引擎配合使用——直接使用會(huì)報(bào)錯(cuò),常用模板引擎有Freemarker、Jsp、Velocity、Groovy、Thymeleaf(SpringBoot推薦使用),所以使用@Controller,需要在Maven的pom文件中引入相應(yīng)模板引擎的依賴。
@RestController:原來(lái)返回json需要@Response和@Controller進(jìn)行組合,@RestController是它們的組合,一樣的作用。
@RequestMapping:可以使用在類(lèi)上,也可以使用在方法上,類(lèi)上對(duì)所有方法起作用,方法上起補(bǔ)充說(shuō)明作用。
查看全部 -
使用? 方法
查看全部 -
GITHUB地址
查看全部 -
使用? 場(chǎng)景
查看全部 -
特點(diǎn)? ? ? ? ? ? ? ?3
查看全部 -
特點(diǎn)? ? ? ? ?2
查看全部 -
特? ? ? ? ? 點(diǎn)
查看全部 -
簡(jiǎn)? ? ? ? ? ? ? ? ? 介
查看全部 -
簡(jiǎn)? ? ? ? ? 介
查看全部
舉報(bào)