JavaEE作业-实验四

目录

1.实验内容

2.实验要求

3.思路

4.程序源码


1.实验内容

简单的线上图书交易系统的服务层

2.实验要求

(1)使用Spring框架,采用XML配置

(2)要求具有如下服务层功能:商品分类、订单、购物车、库存。并且分离接口与实现

(3)独立完成,编写实验报告

3.思路

①定义服务接口: 为每个业务实体(如图书、订单、购物车、库存等)定义一个服务接口。接口中声明了与业务相关的方法,如查询、新增、更新、删除等。②创建服务实现类: 实现服务接口,将具体的业务逻辑封装在实现类中。在实现类中注入相应的DAO实例,通过DAO层完成对数据库的操作。

③使用注解标注服务实现类: 使用Spring的@Service注解标识服务实现类,以便Spring能够识别并将其注册为Bean。

④在服务实现类中处理业务逻辑: 在服务实现类中编写具体的业务逻辑,处理业务需求,调用DAO层的方法与数据库进行交互。

4.程序源码

①BookServiceImpl类

@Service
public class BookServiceImpl implements BookService {

@Autowired

private BookDAO bookDAO;

@Override

public List<Book> getAllBooks() {

return bookDAO.getAllBooks();
}

@Override

public Book getBookById(Long id) {

return bookDAO.getBookById(id);
}

@Override

public void addBook(Book book) {

bookDAO.addBook(book);
}

@Override

public void updateBook(Book book) {

bookDAO.updateBook(book);
}

@Override

public void deleteBook(Long id) {

bookDAO.deleteBook(id);
}
}

②BookServiceImpl类

@Service
public class BookServiceImpl implements BookService {

@Autowired

private BookDAO bookDAO;

@Override

public List<Book> getAllBooks() {

return bookDAO.getAllBooks();
}

@Override

public Book getBookById(Long id) {

return bookDAO.getBookById(id);
}

@Override

public void addBook(Book book) {

bookDAO.addBook(book);
}

@Override

public void updateBook(Book book) {

bookDAO.updateBook(book);
}

@Override

public void deleteBook(Long id) {

bookDAO.deleteBook(id);
}
}

③OrderServiceImpl类

@Service
public class OrderServiceImpl implements OrderService {

@Autowired

private OrderDAO orderDAO;

@Override

public List<Order> getAllOrders() {

return orderDAO.getAllOrders();
}

@Override

public Order getOrderById(Long id) {

return orderDAO.getOrderById(id);
}

@Override

public void addOrder(Order order) {

orderDAO.addOrder(order);
}

@Override

public void updateOrder(Order order) {

orderDAO.updateOrder(order);
}

@Override

public void deleteOrder(Long id) {

orderDAO.deleteOrder(id);
}
}

④InventoryServiceImpl类

@Service
public class InventoryServiceImpl implements InventoryService {

@Autowired

private InventoryDAO inventoryDAO;

@Override

public Inventory getInventoryByBookId(Long bookId) {

return inventoryDAO.getInventoryByBookId(bookId);
}

@Override

public void addInventory(Inventory inventory) {

inventoryDAO.addInventory(inventory);
}

@Override

public void updateInventory(Inventory inventory) {

inventoryDAO.updateInventory(inventory);
}

@Override

public void deleteInventory(Long id) {

inventoryDAO.deleteInventory(id);
}
}

相关推荐
南_山无梅落9 分钟前
9.Python3集合(set)增删改查和推导式
java·开发语言
sg_knight24 分钟前
拥抱未来:ECMAScript Modules (ESM) 深度解析
开发语言·前端·javascript·vue·ecmascript·web·esm
爱笑的眼睛1125 分钟前
超越MSE与交叉熵:深度解析损失函数的动态本质与高阶设计
java·人工智能·python·ai
程序喵大人39 分钟前
推荐个 C++ 练习平台
开发语言·c++·工具推荐
全靠bug跑1 小时前
Spring Cloud OpenFeign 实战三部曲:快速集成 · 连接池优化 · 客户端抽取
java·spring boot·openfeign
阿里嘎多学长1 小时前
2025-12-16 GitHub 热点项目精选
开发语言·程序员·github·代码托管
Evan芙1 小时前
搭建nexus服务,实现本地仓库、代理仓库
java·nginx·tomcat
乂爻yiyao1 小时前
Java LTS版本重要升级特性对照表
java·开发语言
原来是好奇心1 小时前
深入Spring Boot源码(六):Actuator端点与监控机制深度解析
java·开发语言·源码·springboot