Spring Boot 是一個用於開發 Java 應用程序的框架,它支援使用三層架構來組織應用程序。三層架構是一種常見的軟體架構模式,用於分離應用程序的不同功能和責任。下面是 Spring Boot 中的三層架構的簡要介紹:
表現層是應用程序的前端部分,負責處理用戶界面和用戶輸入。
在 Spring Boot 中,通常使用控制器(Controller)來處理 HTTP 請求和響應。
控制器接收用戶輸入,處理它,然後決定要顯示給用戶的視圖。
視圖通常是HTML、JSON 或其他格式的響應。
業務邏輯層包含應用程序的核心邏輯,負責處理業務邏輯和數據處理。
在 Spring Boot 中,你可以使用服務(Service)類來實現業務邏輯。
服務類通常包含方法,這些方法執行特定的業務操作,並可以調用資料訪問層來操縱數據。
資料訪問層負責與資料庫或其他持久性存儲系統進行交互,執行數據操作。
在 Spring Boot 中,你可以使用持久性層(Persistence Layer)來實現資料訪問。
使用 Spring 的 JPA(Java Persistence API)或 Spring Data JPA 可以簡化與資料庫的交互。
這一層通常包括實體類(Entity Classes)、資料訪問對象(Data Access Objects,DAOs)和資料庫操作。
首先我們要創建四個東西分別為User的實體類(Entity)、控制器(Controller)、服務(Service)、存儲庫(Repository)
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Entity//創建一個與該實體類對應的資料表
@Table(name = "_user")//資料表名稱
public class User {
    @Id//資料表主鍵(不可少)
    @GeneratedValue//自動生成
    private Long id;
    private String account;//帳號
    private String password;//密碼
}
裡面的屬性都可以個人增加刪除
@RestController
@RequiredArgsConstructor
@RequestMapping("/user")
public class UserController {
    private final UserService service;
    //將帳號密碼傳入資料表中
    @PostMapping("/post")
    public User register(
            @RequestParam("account") String account,
            @RequestParam("password")String password
            ){
        return service.register(account, password);
    }
    //抓出所有使用者
    @GetMapping("/getAll")
    public List<User> allUser(){
        return service.allUser();
    }
}
@RestController
為了讓spring boot知道我這個類為Controller
@RequiredArgsConstructor
將有final修飾詞的的變量創建構造函數讓值可以順利傳遞給Service
Controller的目的就是將用戶傳遞的資料接收後丟給Service去做業務邏輯處理
@Service
@RequiredArgsConstructor
public class UserService {
    private final UserRepository userRepository;
    
    public User register(String account, String password) {
        //將帳號與密碼的值附在user上
        var user = User.builder()
                .account(account)
                .password(password)
                .build();
        //接這請資料訪問層將user存在資料表裡面
        userRepository.save(user);
        return user;
    }
    public List<User> allUser() {
        //項資料訪問層索取所有用戶訊息
        var UserList = userRepository.findAllUser();
        return UserList;
    }
}
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
    @Query("SELECT u FROM User u")
    List<User> findAllUser();
}
Repository是負責幫訪問資料庫做出來執行基本的CRUD(創建、讀取、更新、刪除)操作
這裡可以用不同的方式去查詢你要的資料下一篇會講
以上就是一整套三層架構寫法