簡介
? ? ? ? SpringBoot 是 Java 社區(qū)最有影響力之一的開源的Spring后端開發(fā)框架,也是企業(yè)級應(yīng)用開發(fā)的首選技術(shù),Spring Boot 擁有良好的技術(shù)基因,它是伴隨著Spring 4 而產(chǎn)生的技術(shù)框架,在繼承了 Spirng 框架所有優(yōu)點的同時也為開發(fā)者帶來了巨大的便利,與普通的 Spring 項目相比,SpringBoot 可以讓項目的配置更簡化、編碼更簡化、部署更方便,為開發(fā)者提供了開箱即用的良好體驗,進一步提升了開發(fā)者的開發(fā)效率。
一.Spring boot環(huán)境配置
1.JDK安裝
jdk 1.8.0_201(及以上版本)
https://www.oracle.com/java/technologies/downhttps://www.oracle.com/java/technologies/down
環(huán)境變量配置
1.打開高級系統(tǒng)設(shè)置
2.打開環(huán)境變量
3.新建系統(tǒng)變量
4.新建JAVA_HOME變量,變量值為JDK安裝路徑
5.在系統(tǒng)變量中找到Path變量進行編輯
6.將剛才新建的JAVA_HOME變量加入其中
7.利用CDM命令驗證環(huán)境變量是否配置成功java-version
-
安裝完成后,驗證JDK是否成功安裝。在命令行中輸入以下命令:
java -version
如果能夠看到類似以下版本信息,說明JDK已經(jīng)正確安裝:
java version "11.0.11" 2021-04-20 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.11+9-LTS-194) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.11+9-LTS-194, mixed mode)
安裝完JDK后,您就可以繼續(xù)配置Java環(huán)境變量和安裝IDE了。
為什么需要配置環(huán)境變量?
配置環(huán)境變量是為了讓操作系統(tǒng)能夠找到并執(zhí)行特定的命令和程序。
? ? ? ? 在Java開發(fā)中,配置Java環(huán)境變量是為了使命令行窗口能夠識別和執(zhí)行Java的命令和程序。通過配置環(huán)境變量,我們可以在任何位置使用命令行窗口執(zhí)行Java命令,而不需要指定Java的安裝路徑。這樣可以方便地進行Java開發(fā)和調(diào)試工作。
? ? ? ?另外,一些集成開發(fā)環(huán)境(IDE)也需要配置Java環(huán)境變量,以便能夠正常編譯和運行Java項目。所以,配置環(huán)境變量是為了方便我們進行Java開發(fā)和運行項目。
??
為什么需要新建JAVA_HOME變量?
新建JAVA_HOME變量是為了設(shè)置Java的安裝路徑。
? ? ?? JAVA_HOME變量告訴操作系統(tǒng)Java的安裝位置,使系統(tǒng)能夠正確識別和執(zhí)行Java的命令和程序。在配置Java環(huán)境變量時,我們需要設(shè)置JAVA_HOME變量并將其指向Java的安裝路徑。這樣,當(dāng)我們在命令行窗口中執(zhí)行Java命令時,系統(tǒng)就能夠根據(jù)JAVA_HOME變量找到Java的安裝位置,從而正確執(zhí)行相關(guān)的命令和程序。
? ? ? ?同時,一些開發(fā)工具和集成開發(fā)環(huán)境(IDE)也需要JAVA_HOME變量來定位Java的安裝路徑,以便能夠編譯和運行Java項目。因此,新建JAVA_HOME變量是為了確保系統(tǒng)能夠正確識別和執(zhí)行Java的命令和程序,并且為開發(fā)工具提供正確的Java安裝路徑。
2.Maven的安裝
- Maven的安裝下載
- Maven – Download Apache Mavenhttps://maven.apache.org/download.cgi
- Maven環(huán)境變量配置
- 添加環(huán)境變量
- 驗證環(huán)境變量配置成功
- 將JDK和Maven在IDER中進行集成,在IDER中完成初始化Maven的配置以及初始化JDK的配置
- 將下列代碼復(fù)制到mirrors里,然后保存
- 環(huán)境配置
- 通過IDE創(chuàng)建Maven項目相對來說更加簡單,因為IDE會自動處理大部分的配置和依賴管理工作。無論你選擇哪種方式,都可以快速創(chuàng)建一個Maven項目,并開始使用Spring Boot進行開發(fā)。
3.Intellij IDEA Ultimate旗艦版
- 為了Spring boot的開發(fā),我們需要下載旗艦版IDEA
- Download IntelliJ IDEA – The Leading Java and Kotlin IDE (jetbrains.com)https://www.jetbrains.com/idea/download/?section=windows
- 配置IDEA
Spring boot環(huán)境配置完成!
二.創(chuàng)建Spring Boot項目
第一步Maven創(chuàng)建方式? ?
1.在IDEA工具中點擊New Project,進入下面界面點擊Spring initializr選項,如圖所示填寫信息。
2.點擊下一步
3.修改jdk的版本,再點擊下一步
4.選中Spring Web,再下一步
5.給項目文件命名,再點擊完成
然后就會生成一個項目,如圖所示
第二步導(dǎo)入依賴
進入選擇依賴庫界面,在這里大家就可以選擇我們開發(fā)當(dāng)中要使用到的例如數(shù)據(jù)庫驅(qū)動,技術(shù),框架等等。
SpringBoot項目需要提供一個接口去拿到數(shù)據(jù)所有在這里我們需要能連接數(shù)據(jù)庫的配置
第三步配置Application
新建一個application.yml文件
配置項目需要修改的端口號、datasource、mybatis。
server:
? #設(shè)置端口號
? port: 8081 #默認端口是8080
spring:
? datasource:
? ? #數(shù)據(jù)庫用戶名
? ? username: root
? ? #數(shù)據(jù)庫用戶密碼
? ? password: 123456
? ? #serverTimezone=UTC 解決市區(qū)的報錯 一般mysql是8.0以上的是必須配置這個
? ? #userUnicode=true&characterEncoding=utf-8 指定字符編碼、解碼格式
? ? url: jdbc:mysql://localhost:3306/metest?serverTimezone=UTC&userUnicode=true&characterEncoding=utf-8
? ? #設(shè)置驅(qū)動類
? ? driver-class-name: com.mysql.cj.jdbc.Driver
? ? #設(shè)置數(shù)據(jù)源
? ? type: com.alibaba.druid.pool.DruidDataSource
? ? #Spring Boot 默認是不注入這些屬性值的,需要自己綁定
? ? #druid 數(shù)據(jù)源專有配置
? ? initialSize: 5
? ? minIdle: 5
? ? maxActive: 20
? ? maxWait: 60000
? ? timeBetweenEvictionRunsMillis: 60000
? ? minEvictableIdleTimeMillis: 300000
? ? validationQuery: SELECT 1 FROM DUAL
? ? testWhileIdle: true
? ? testOnBorrow: false
? ? testOnReturn: false
? ? poolPreparedStatements: true
? ? #配置監(jiān)控統(tǒng)計攔截的filters,stat:監(jiān)控統(tǒng)計、log4j:日志記錄、wall:防御sql注入
? ? #如果允許時報錯 ?java.lang.ClassNotFoundException: org.apache.log4j.Priority
? ? #則導(dǎo)入 log4j 依賴即可,Maven 地址:https://mvnrepository.com/artifact/log4j/log4j
? ? filters: stat,wall,log4j
? ? maxPoolPreparedStatementPerConnectionSize: 20
? ? useGlobalDataSourceStat: true
? ? connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
# 配置mybatis
mybatis:
? #指定pojo掃描包位置讓mybatis自動掃描到指定義的pojo包下
? type-aliases-package: com.me.test.pojo
? #指定位置掃描Mapper接口對應(yīng)的XML文件 classpath:xml文件位置
? mapper-locations: classpath:mapper/*.xml
第四步創(chuàng)建需要的mapper、service、cotroller層
創(chuàng)建數(shù)據(jù)庫
spl語句代碼
CREATE DATABASE /*!32312 IF NOT EXISTS*/`metest` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `metest`;
/*Table structure for table `userinfo` */
DROP TABLE IF EXISTS `userinfo`;
CREATE TABLE `userinfo` (
? `id` int(10) NOT NULL AUTO_INCREMENT,
? `username` varchar(30) NOT NULL,
? `password` varchar(30) NOT NULL,
? `authority` varchar(30) NOT NULL,
? PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
/*Data for the table `userinfo` */
insert ?into `userinfo`(`id`,`username`,`password`,`authority`) values (1,'root','123456','admin'),(2,'me','123456','admin');
v
一般pojo類、mapper接口、service接口名字都是按照數(shù)據(jù)庫中表的名字來創(chuàng)建的
創(chuàng)建pojo類
//使用@Data自動生成需要的get、set
@Data
//使用@AllArgsConstructor自動生成有參構(gòu)造
@AllArgsConstructor
//使用@NoArgsConstructor自動生成無參構(gòu)造
@NoArgsConstructor
public class userInfo {
? ??
? ? private Integer id;
? ? private String username;
? ? private String password;
? ? private String authority;
}
創(chuàng)建mapper接口
@Repository
@Mapper
public interface UserInfoMapper {
? ? /**
? ? ?* 增加一條數(shù)據(jù)
? ? ?* @param userInfo 數(shù)據(jù)
? ? ?*/
? ? void add(UserInfo userInfo);
? ? /**
? ? ?* 刪除一條數(shù)據(jù)
? ? ?* @param id 被刪除數(shù)據(jù)的id
? ? ?*/
? ? void delete(Integer id);
? ? /**
? ? ?* 修改一條數(shù)據(jù)
? ? ?* @param userInfo 修改的數(shù)據(jù)
? ? ?*/
? ? void update(UserInfo userInfo);
? ? /**
? ? ?* 根據(jù)id去查詢一條數(shù)據(jù)
? ? ?* @param id 查詢的id
? ? ?*/
? ? UserInfo queryById(Integer id);
? ? /**
? ? ?* 查詢?nèi)繑?shù)據(jù)
? ? ?* @return
? ? ?*/
? ? List<UserInfo> queryAll();
}
?
創(chuàng)建對于mapper接口的xml文件
需要的mapper基本配置
對于接口中的方法在添加需要的增刪改查功能
圖中爆紅不用管這個是因為我配置了一個插件的原因,實際在運行時不影響效果!
創(chuàng)建service層
UserInfoService代碼
public interface UserInfoService {
? ? /**
? ? ?* 增加一條數(shù)據(jù)
? ? ?* @param userInfo 數(shù)據(jù)
? ? ?*/
? ? void add(UserInfo userInfo);
? ? /**
? ? ?* 刪除一條數(shù)據(jù)
? ? ?* @param id 被刪除數(shù)據(jù)的id
? ? ?*/
? ? void delete(Integer id);
? ? /**
? ? ?* 修改一條數(shù)據(jù)
? ? ?* @param userInfo 修改的數(shù)據(jù)
? ? ?*/
? ? void update(UserInfo userInfo);
? ? /**
? ? ?* 根據(jù)id去查詢一條數(shù)據(jù)
? ? ?* @param id 查詢的id
? ? ?*/
? ? UserInfo queryById(Integer id);
? ? /**
? ? ?* 查詢?nèi)繑?shù)據(jù)
? ? ?* @return
? ? ?*/
? ? List<UserInfo> queryAll();
}
?
創(chuàng)建controller層
這里我先去pom中配置一個fastjson依賴這是阿里巴巴開源的,用來轉(zhuǎn)換成JSON和類的格式的。
\\
//@Controller 控制層需要的注解
//@RestController 使用這個也是可以的,但是使用后他里面所有請求返回的都是字符串!
//一般只需要作為接口放回JSON格式數(shù)據(jù)的話推薦使用@RestController
//@Controller這個是可以與Thymeleaf模板引擎使用時可以返回一個頁面的
@Controller
//@RequestMapping指定路徑名
//@RequestMapping("/test")用這個來指定路徑也是可以的
@RequestMapping(value = "/test")
public class UserInfoController {
? ? //獲取到UserInfoService
? ? @Autowired
? ? private UserInfoService userInfoService;
? ? //Get請求
? ? @GetMapping
? ? //@ResponseBody 注釋后表示放回的是字符串
? ? @ResponseBody
? ? public String queryAll(){
? ? ? ? List<UserInfo> userInfoList = userInfoService.queryAll();
? ? ? ? return JSON.toJSONString(userInfoList);
? ? }
? ? //使用了RestFull風(fēng)格
? ? @GetMapping("/{id}")
? ? @ResponseBody
? ? public String query(@PathVariable(value = "id")Integer id){
? ? ? ? UserInfo userInfo = userInfoService.queryById(id);
? ? ? ? List<UserInfo> userInfoList = new ArrayList<>();
? ? ? ? userInfoList.add(userInfo);
? ? ? ? return JSON.toJSONString(userInfoList);
? ? }
? ? //post請求
? ? //@RequestBody 表示接收請求是JSON格式的數(shù)據(jù)
? ? @PostMapping
? ? @ResponseBody
? ? public String add(@RequestBody UserInfo userInfo){
? ? ? ? userInfoService.add(userInfo);
? ? ? ? return "添加OK";
? ? }
? ? //Delete請求
? ? @DeleteMapping(value = "/{id}")
? ? @ResponseBody
? ? public String delete(@PathVariable("id")Integer id){
? ? ? ? userInfoService.delete(id);
? ? ? ? return "刪除成功";
? ? }
? ? //Put請求
? ? @PutMapping("/{id}")
? ? @ResponseBody
? ? public String update(@PathVariable("id")Integer id,
? ? ? ? ? ? @RequestBody UserInfo userInfo){
? ? ? ? userInfo.setId(id);
? ? ? ? userInfoService.update(userInfo);
? ? ? ? return "修改成功";
? ? }
}
?
第五步測試請求
本人測試使用的工具是Postman
Postman下載路徑:Download Postman
查詢測試
查詢沒問題
增加數(shù)據(jù)測試
修改測試
此時數(shù)據(jù)庫的數(shù)據(jù)也發(fā)生了改變
刪除測試
此時數(shù)據(jù)就被刪除了
文章來源:http://www.zghlxwxcb.cn/news/detail-769937.html
總結(jié)
總的來說,搭建Spring Boot項目的開發(fā)環(huán)境需要安裝JDK、配置Java環(huán)境變量、安裝IDE、創(chuàng)建項目、配置依賴以及開發(fā)和運行項目。這些步驟都需要仔細操作,但一旦搭建完成,你就可以開始開發(fā)高效、穩(wěn)定的Spring Boot應(yīng)用了。文章來源地址http://www.zghlxwxcb.cn/news/detail-769937.html
到了這里,關(guān)于搭建SpringBoot項目——開發(fā)環(huán)境搭建開發(fā)環(huán)境搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!