iT邦幫忙

2024 iThome 鐵人賽

DAY 4
0

Service & Repository

在上一篇文章中,我們介紹了表示層的實現。本篇文章將重點關注業務邏輯層和資料訪問層的實現,這兩者是應用程序的核心,負責處理業務規則及與數據庫的交互。

業務邏輯層:業務邏輯層使用@Service注解來標識,該層主要負責業務邏輯的實現。讓我們繼續以用戶管理為例,創建一個UserService類:

@Service
public class UserService {

    private final UserRepository userRepository;

    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    public List<User> findAllUsers() {
        return userRepository.findAll();
    }

    public User saveUser(User user) {
        return userRepository.save(user);
    }
}

在這個UserService中,我們注入了資料訪問層(UserRepository),並定義了業務方法,如查詢所有用戶和保存用戶。業務邏輯層可以包含多種複雜的邏輯處理,如數據校驗、事務管理等。

資料訪問層:資料訪問層負責直接與數據庫交互。我們通常會使用Spring Data JPA來簡化資料訪問層的實現。以下是一個UserRepository接口的定義:

@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}

通過繼承JpaRepository接口,我們不需要手動編寫CRUD操作,Spring Data JPA會自動生成相應的方法,如findAll和save。這大大減少了我們編寫樣板代碼的工作量。

此外,資料訪問層還可以自定義查詢方法。例如,如果我們需要根據用戶名查詢用戶,可以在UserRepository中添加如下方法:

Optional<User> findByUsername(String username);

使用Spring Boot的三層式架構可以使應用程序更易於維護和擴展。表示層、業務邏輯層和資料訪問層各司其職,明確的分層結構有助於提高代碼的可讀性和可測試性。透過這三篇文章的介紹,希望你已經對Spring Boot的三層式架構有了全面的了解,且能夠在實際項目中靈活運用。


上一篇
Day3 表示層(Presentation Layer)
下一篇
Day 5 Lombok 常用註釋
系列文
Spring Boot微服務架構:API設計與實現27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言