Java SpringBoot開(kāi)發(fā)小技巧詳解
一、SpringBoot開(kāi)發(fā)小技巧
1.1 Lombok
作用:在程序編譯的時(shí)候,自動(dòng)幫我們生成setter和getter方法以及我們的toString方法和我們的全參和無(wú)參構(gòu)造器等等。
那么,怎么用呢?很簡(jiǎn)單,用下邊這四個(gè)注解就行了:
1、@Data:自動(dòng)生成setter和getter方法。
2、@ToString:自動(dòng)生成toString方法。
3、@AllArgsConstructor:自動(dòng)生成全參構(gòu)造器
4、@NoArgsConstructor:自動(dòng)生成無(wú)參構(gòu)造器
5、@EqualsAndHashCode:自動(dòng)生成EqualsAndHashCode方法
6、@Slf4j:開(kāi)啟我們的日志記錄器
使用Lombok,首先當(dāng)然要引入他的依賴(lài),這個(gè)在SpringBoot也裝配好了,所以我們不用寫(xiě)他的版本號(hào)。
<!--lombok依賴(lài)--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
然后在IDEA的settings中下載Lombok的插件。(下載完記得重啟一下IDEA,讓他生效)
使用這個(gè)插件后,我們以后開(kāi)發(fā)的時(shí)候的那些Bean,我們只需要在上面添加如下注解就可以生成對(duì)應(yīng)的方法了:
package com.example.bean; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; @Data //setter和getter方法 @ToString //toString方法 @AllArgsConstructor //有參構(gòu)造器 @NoArgsConstructor //無(wú)參構(gòu)造器 @EqualsAndHashCode //EqualsAndHashCode方法 public class User { private Integer id; private String username; private String password; }
然后我們給控制器也寫(xiě)一個(gè)@Slf4j注釋
package com.example.controller; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; //@RestController可以理解成是Controller加ResponseBody @RestController @Slf4j public class HelloController { @RequestMapping("/hello") public String toHello(@RequestParam("name") String name){ log.info("/hello被人訪(fǎng)問(wèn)啦!"); return "Hello,World!"+name; } }
在主程序中寫(xiě)上:
package com.example.boot; import com.example.bean.User; import com.example.config.MyConfig; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; /** * 主程序類(lèi) * @SpringBootApplication 告訴 SpringBoot這是一個(gè)SpringBoot應(yīng)用 */ @SpringBootApplication(scanBasePackages = "com.example") public class MainApplication { public static void main(String[] args) { //固定寫(xiě)法 ConfigurableApplicationContext run = SpringApplication.run(MainApplication.class, args); MyConfig myConfig = run.getBean(MyConfig.class); //通過(guò)myConfig的方法獲取Bean User user = myConfig.user(); // User user1 = myConfig.user(); //通過(guò)run獲取Bean User user2 = run.getBean("user",User.class); System.out.println(user); System.out.println(user2); } }
運(yùn)行我們的主程序,我們來(lái)測(cè)試一下,首先Bean的創(chuàng)建沒(méi)問(wèn)題,而且他的toString方法也沒(méi)問(wèn)題。
登錄http://localhost:8888/hello?name=哈哈哈
控制臺(tái)輸出也沒(méi)問(wèn)題。
1.2 dev-tools
作用:以前開(kāi)發(fā)頁(yè)面啥的,老要重啟一下主程序或者重啟一下Tomcat服務(wù)器,有了他就方便多啦。我們只需要按Ctrl+F9(編譯一下),就可以讓他實(shí)時(shí)生效。(第一次使用記得在成功導(dǎo)入依賴(lài)后,先重啟一次主程序)
先添加依賴(lài):
<!--dev-tools依賴(lài)--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
然后我們來(lái)試一下,我們把之前設(shè)置端口號(hào)為8888的那一段刪掉,讓他變回默認(rèn)的8080。按Ctrl+F9,很快就編譯完成了,然后我們此時(shí)登錄8080端口號(hào)成功。登錄8888端口號(hào)就不行了。開(kāi)發(fā)網(wǎng)頁(yè)啥的時(shí)候也是一樣,改完代碼,直接編譯,然后回去網(wǎng)站刷新一下即可。
1.3 Spring Initializr
作用:初始化我們的SpringBoot工程。
在IDEA中,我們新建我們的項(xiàng)目,可以選擇Spring Initializr,然后配置我們的工程名、路徑等等信息,大致如下:
完成后,他就會(huì)自動(dòng)幫我們導(dǎo)入我們的依賴(lài)
并且?guī)臀覀冊(cè)O(shè)計(jì)好我們的項(xiàng)目結(jié)構(gòu):
主程序類(lèi)也幫我們寫(xiě)好了默認(rèn)的語(yǔ)句。
如此,開(kāi)發(fā)者基本上就只需要寫(xiě)自己的那些dao、service、controller和bean一系列的業(yè)務(wù)邏輯的東西就可以了。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
關(guān)于Unsupported major.minor version 49.0的錯(cuò)誤解決辦法
這篇文章主要介紹了關(guān)于Unsupported major.minor version 49.0的錯(cuò)誤解決辦法的相關(guān)資料,需要的朋友可以參考下2015-11-11- 這篇文章主要介紹了SpringBoot 定時(shí)任務(wù)遇到的坑,今天踩的這個(gè)坑和 cron 表達(dá)式有關(guān),文中給大家介紹了cron 表達(dá)式的解釋?zhuān)枰呐笥岩黄鹂纯窗?/div> 2017-11-11
詳解java 中Spring jsonp 跨域請(qǐng)求的實(shí)例
這篇文章主要介紹了詳解java 中Spring jsonp 跨域請(qǐng)求的實(shí)例的相關(guān)資料,jsonp 可用于解決主流瀏覽器的跨域數(shù)據(jù)訪(fǎng)問(wèn)的問(wèn)題,需要的朋友可以參考下2017-08-08關(guān)于activemq安裝配置以及啟動(dòng)錯(cuò)誤的解決
這篇文章主要介紹了關(guān)于activemq安裝配置以及啟動(dòng)錯(cuò)誤的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06超簡(jiǎn)單的java獲取鼠標(biāo)點(diǎn)擊位置坐標(biāo)的實(shí)例(鼠標(biāo)在Jframe上的坐標(biāo))
在Java窗體Jframe上獲取鼠標(biāo)點(diǎn)擊的坐標(biāo),其中使用了匿名內(nèi)部類(lèi),實(shí)例代碼非常簡(jiǎn)單易懂,大家可以學(xué)習(xí)一下2018-03-03Java圖片處理開(kāi)源框架Thumbnailator
這篇文章主要為大家詳細(xì)介紹了Java圖片處理開(kāi)源框架Thumbnailator的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05Java并發(fā)包線(xiàn)程池ThreadPoolExecutor的實(shí)現(xiàn)
本文主要介紹了Java并發(fā)包線(xiàn)程池ThreadPoolExecutor的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04使用SpringBoot請(qǐng)求參數(shù)過(guò)濾空格
這篇文章主要介紹了使用SpringBoot請(qǐng)求參數(shù)過(guò)濾空格的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08最新評(píng)論