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(創建、讀取、更新、刪除)操作
這裡可以用不同的方式去查詢你要的資料下一篇會講
以上就是一整套三層架構寫法