Mac下Java SpringBoot簡單入門

一、下載安裝JDK

太簡單不想說

二、安裝編譯器

Java主流IDE有eplice和IDEA,我用的是IDEA,安裝方法太簡單,不想說

三、第一個SpringBoot程序hello

1、終端輸入以下指令,查看安裝的Java版本

wjc@wangjunhaodeMBP ~ % java -version
java version "14.0.1" 2020-04-14

可以看到我的Java版本為最新的14.0.1,如果沒有看到自己的Java版本號,重復一操作

2、打開IDEA,選擇create new Project
image.png

選擇Spring initiakizr,點擊next即可初始化一個SpringBoot項目
image.png

設置項目名稱為hello,繼續next
image.png

這里選擇Web-Spring Web,繼續next
image.png

這里可以選擇項目目錄,然后finish
image.png

這樣一個SpringBoot項目就創建成功了
image.png
三、第一個接口,請求返回hello world!

1、創建一個Controller類HelloController

image.png

2、在HelloController中實現返回hello world!字符串的接口
image.png

3、點擊這個運行按鈕,啟動程序,注意服務啟動的端口為8080
image.png

4、然后在游覽器中輸入http://localhost:8080/hello,即可看到如下效果
image.png

四、通過接口操作數據庫之增刪改查

上一步我們成功返回了一個我們寫死的字符串hello world!,那么我們怎么通過接口來操作數據庫呢。
1、首先我們要在自己電腦上安裝一個MySQL,安裝MySQL是一個很操蛋的過程,安裝的方法有很多,但是可能遇到的問題也很多,慢慢享受。Mac上安裝MySQL參考http://www.lxweimin.com/p/bded35de93eb
2、創建一個庫hello
可以用一些可視化工具創建如:sequel pro等,也可以用指令。

wjc@wangjunhaodeMBP ~ % mysql.server start  //啟動mysql
wjc@wangjunhaodeMBP ~ % mysql -u root -p  //進入mysql
mysql> show databases;  //查看當前用戶下所有庫
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
| wjc                |
+--------------------+
6 rows in set (0.01 sec)
mysql> create database hello;  //創建庫hello
Query OK, 1 row affected (0.00 sec)
mysql> show databases;  //發現hello庫已經創建成功
+--------------------+
| Database           |
+--------------------+
| information_schema |
| hello              |
| mysql              |
| performance_schema |
| sys                |
| test               |
| wjc                |
+--------------------+
7 rows in set (0.01 sec)

3、修改pom.xml文件

增加兩條配置,注意不要放錯地方
image.png

4、右鍵pom.xml,重新導入maven
image.png

5、新增配置文件application.yml,并配置數據庫
image.png

6、新增數據模型類Hellomodel,記得增加構造函數和set、get方法
image.png

7、新建接口文件HelloRepository
image.png

并且繼承JpaRepository類,傳兩個參數 Hellomodel, Integer
image.png

8、然后就可以在HelloController里編寫增刪改查的接口了,HelloController代碼如下:

package com.example.hello;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Optional;

@RestController   //表示方法的返回值直接以指定的格式寫入Http response body中,而不是解析為跳轉路徑。
public class HelloController {

    @Autowired
    private  HelloRepository helloRepository;  //實例化接口

    //新增數據
    @PostMapping("/hello")
    public Hellomodel create(@RequestParam("title") String title,
                             @RequestParam("message") String message){
        Hellomodel hellomodel = new Hellomodel();
        hellomodel.setTitle(title);
        hellomodel.setMessage(message);
        return  helloRepository.save(hellomodel);
    }

    //獲取數據列表
    @GetMapping("/hello")
    public List<Hellomodel> list(){
        return helloRepository.findAll();
    }

    //通過ID查詢item
    @GetMapping("/hello/{id}")
    public Hellomodel findById(@PathVariable("id") Integer id){
        return helloRepository.findById(id).orElse(null);
    }

    //通過ID更新
    @PutMapping("/hello/{id}")
    public Hellomodel update(@PathVariable("id") Integer id,
                             @RequestParam("title") String title){
        Optional<Hellomodel> optional = helloRepository.findById(id);
        if(optional.isPresent()){
            Hellomodel hellomodel = optional.get();
            hellomodel.setTitle(title);
            return helloRepository.save(hellomodel);
        }
        return null;
    }
}

9、然后在postman中驗證是否正確
image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。