Java SpringBoot開發(fā)小技巧詳解
一、SpringBoot開發(fā)小技巧
1.1 Lombok
作用:在程序編譯的時(shí)候,自動(dòng)幫我們生成setter和getter方法以及我們的toString方法和我們的全參和無參構(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)生成無參構(gòu)造器
5、@EqualsAndHashCode:自動(dòng)生成EqualsAndHashCode方法
6、@Slf4j:開啟我們的日志記錄器
使用Lombok,首先當(dāng)然要引入他的依賴,這個(gè)在SpringBoot也裝配好了,所以我們不用寫他的版本號(hào)。
<!--lombok依賴-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
然后在IDEA的settings中下載Lombok的插件。(下載完記得重啟一下IDEA,讓他生效)

使用這個(gè)插件后,我們以后開發(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 //無參構(gòu)造器
@EqualsAndHashCode //EqualsAndHashCode方法
public class User {
private Integer id;
private String username;
private String password;
}
然后我們給控制器也寫一個(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被人訪問啦!");
return "Hello,World!"+name;
}
}
在主程序中寫上:
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;
/**
* 主程序類
* @SpringBootApplication 告訴 SpringBoot這是一個(gè)SpringBoot應(yīng)用
*/
@SpringBootApplication(scanBasePackages = "com.example")
public class MainApplication {
public static void main(String[] args) {
//固定寫法
ConfigurableApplicationContext run = SpringApplication.run(MainApplication.class, args);
MyConfig myConfig = run.getBean(MyConfig.class);
//通過myConfig的方法獲取Bean
User user = myConfig.user();
// User user1 = myConfig.user();
//通過run獲取Bean
User user2 = run.getBean("user",User.class);
System.out.println(user);
System.out.println(user2);
}
}
運(yùn)行我們的主程序,我們來測(cè)試一下,首先Bean的創(chuàng)建沒問題,而且他的toString方法也沒問題。

登錄http://localhost:8888/hello?name=哈哈哈

控制臺(tái)輸出也沒問題。

1.2 dev-tools
作用:以前開發(fā)頁面啥的,老要重啟一下主程序或者重啟一下Tomcat服務(wù)器,有了他就方便多啦。我們只需要按Ctrl+F9(編譯一下),就可以讓他實(shí)時(shí)生效。(第一次使用記得在成功導(dǎo)入依賴后,先重啟一次主程序)
先添加依賴:
<!--dev-tools依賴-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
然后我們來試一下,我們把之前設(shè)置端口號(hào)為8888的那一段刪掉,讓他變回默認(rèn)的8080。按Ctrl+F9,很快就編譯完成了,然后我們此時(shí)登錄8080端口號(hào)成功。登錄8888端口號(hào)就不行了。開發(fā)網(wǎng)頁啥的時(shí)候也是一樣,改完代碼,直接編譯,然后回去網(wǎng)站刷新一下即可。

1.3 Spring Initializr
作用:初始化我們的SpringBoot工程。
在IDEA中,我們新建我們的項(xiàng)目,可以選擇Spring Initializr,然后配置我們的工程名、路徑等等信息,大致如下:


完成后,他就會(huì)自動(dòng)幫我們導(dǎo)入我們的依賴


并且?guī)臀覀冊(cè)O(shè)計(jì)好我們的項(xiàng)目結(jié)構(gòu):

主程序類也幫我們寫好了默認(rèn)的語句。

如此,開發(fā)者基本上就只需要寫自己的那些dao、service、controller和bean一系列的業(yè)務(wù)邏輯的東西就可以了。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(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
詳解java 中Spring jsonp 跨域請(qǐng)求的實(shí)例
這篇文章主要介紹了詳解java 中Spring jsonp 跨域請(qǐng)求的實(shí)例的相關(guān)資料,jsonp 可用于解決主流瀏覽器的跨域數(shù)據(jù)訪問的問題,需要的朋友可以參考下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)部類,實(shí)例代碼非常簡(jiǎn)單易懂,大家可以學(xué)習(xí)一下2018-03-03
Java并發(fā)包線程池ThreadPoolExecutor的實(shí)現(xiàn)
本文主要介紹了Java并發(fā)包線程池ThreadPoolExecutor的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
使用SpringBoot請(qǐng)求參數(shù)過濾空格
這篇文章主要介紹了使用SpringBoot請(qǐng)求參數(shù)過濾空格的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08

