vue+springboot architecture, introduction to backend service layer

vue+springboot architecture, introduction to backend service layer

foreword

This article mainly introduces the function and implementation method of the back-end service layer in the vue+springboot architecture, hoping to be helpful to interested readers.

The role of the service layer

The vue+springboot architecture is a development model that separates the front and back ends. The back-end service layer is used to encapsulate business logic and data operation functions for the controller layer to call and return results. The backend service layer generally needs to do the following things:

  • Define the interface and implementation class of the service layer, declare business methods in the interface, and write business logic in the implementation class.
  • Inject objects in the dao layer or mapper layer, and call their methods to operate the database or execute sql statements.
  • Handle exceptions, such as catching sql exceptions, throwing custom exceptions, etc.
  • Add transaction management annotations to ensure data consistency and integrity.

Sample code of service layer

The following is a sample code for a simple backend service layer:

// service层接口
public interface UserService {
    
    

    // 查询所有用户
    List<User> findAllUsers();

    // 根据id查询用户
    User findUserById(Integer id);

    // 添加用户
    void addUser(User user);

    // 更新用户
    void updateUser(User user);

    // 删除用户
    void deleteUser(Integer id);
}

// service层实现类
@Service
public class UserServiceImpl implements UserService {
    
    

    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> findAllUsers() {
    
    
        return userMapper.selectAllUsers();
    }

    @Override
    public User findUserById(Integer id) {
    
    
        return userMapper.selectUserById(id);
    }

    @Override
    @Transactional // 添加事务管理注解
    public void addUser(User user) {
    
    
        userMapper.insertUser(user);
    }

    @Override
    @Transactional // 添加事务管理注解
    public void updateUser(User user) {
    
    
        userMapper.updateUser(user);
    }

    @Override
    @Transactional // 添加事务管理注解
    public void deleteUser(Integer id) {
    
    
        userMapper.deleteUser(id);
    }
}

Guess you like

Origin blog.csdn.net/Sunnyztg/article/details/131605840