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);
}
}

相关推荐
怕孤单的草丛15 分钟前
缓存管理面临的主要问题
java·数据库·缓存
F202269748628 分钟前
西门子 PLC 与 C# 通信
开发语言·c#
gugucoding1 小时前
31. 【C语言】堆栈与队列的实现
c语言·开发语言·数据结构·链表
万联WANFLOW2 小时前
多分支企业组网,IP 网段到底该怎么规划
开发语言·php
阿里嘎多学长2 小时前
2026-07-07 GitHub 热点项目精选
开发语言·程序员·github·代码托管
犀利豆3 小时前
AI in Harness(二)
java·人工智能·后端
cookies_s_s3 小时前
C++ 字符串动态创建对象 -- 工厂模式、自动注册、模板递归动态调用
服务器·开发语言·c++
沉静的小伙4 小时前
在微服务中使用领域事件
java·运维·微服务
程序员在囧途4 小时前
likeadmin-api API 算力超市怎么做供应商切换?统一鉴权、task_id 和 callback_url 才能稳交付
java·服务器·数据库·开放api·likeadmin-api·api算力超市
盐焗鹌鹑蛋4 小时前
【C++】继承
开发语言·c++